(SIG (a -> o) (f o -> o) (c -> o) ) (RULES a -> f(c) c -> c )