class mathStruc<A> {

mathStruc(A a) { }

A model(){ A a; return a; }

methode(){
var innerOp = o -> ms ->
 new mathStruc<A>(o.apply(this.model(),ms.model()));
 return innerOp;
 }
}