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