sig type 'f functorial = { fmap : 'a 'b. ('a -> 'b) -> ('a, 'f) Generic_util.App.T.app -> ('b, 'f) Generic_util.App.T.app; } end