

X1*X2*X3=X1*(X2*X3).
X1*e=X1.
e*X=X.
i(e)=e.
i(X)*i(Y)=i(X*Y).
i(i(X))=X.


map(F,X*Y)=map(F,X)*map(F,Y).
map(F,e)=e.
i(map(F,X))=map(F,i(X)).

precedence([i,map,*,e]).
