[ b:('a, 'b, 'c) Matrix.t ] =<< func:('a -> 'a) * a:('a, 'b, 'c) Matrix.t * sub:(int * int) list
[] let f = fmatrix ~const:[1.0,2.0,3.0;4.0,5.0,6.0] () ;; [] let sinfmat = fmatrix ~dim:[2;3] () ;; [] sinfmat =<< (sin,f,[]);;