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