module T: sig .. end
sig
end
type 'f applicative = {
'f
pure : 'a. 'a -> ('a, 'f) App.T.app;
'a. 'a -> ('a, 'f) App.T.app
apply : 'a 'b. ('a -> 'b, 'f) App.T.app -> ('a, 'f) App.T.app -> ('b, 'f) App.T.app;
'a 'b. ('a -> 'b, 'f) App.T.app -> ('a, 'f) App.T.app -> ('b, 'f) App.T.app