public class mathStruc {
	model; 
	
	//Fun1*<Fun2*<A,A,A>, Fun1*<MathStruc <A>,MathStruc <A>>> 
	innerOp = (o) -> (ms) -> new mathStruc<>(o.apply(model,ms.model));

	public mathStruc(m) {
		model =m;
		//innerOp = (o) -> (ms) -> new mathStruc<>(o.apply(this.model,ms.model));
	}
}