free type L ::= la(A) | l(R)
R ::= r | r(L)
C ::= c(A;B;L)
A ::= a
B ::= b