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