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