(SIG (h o o -> o) (a -> o) (b -> o) (f o -> o) (c -> o) ) (RULES h(a,b) -> a f(c) -> f(c) c -> h(a,h(b,b)) )