(SIG (a -> o) (f o o -> o) (b -> o) ) (RULES a -> a f(b,x) -> b f(x,a) -> a )