abstract Strings = Letters ** { cat S ; fun E : S ; C : L -> S -> S ; }