external f : 'a -> 'a = "asdf"

external g :
  'aaaaaaa 'aaaaaaaaaaaaaaa 'aaaaaaaaaaaaaaaaaaaaaa 'aaaaaaaaaaaaaa 'aaaaaaa
  'fooooo_foooooo. 'a -> 'a -> 'a = "asdf"

type f = Foo : 'a -> t

type f = Foo : 'a -> 'a

type g = Foo : 'a. 'a -> t

type g =
  | Foo :
      'aaaaaaaaaaa 'bbbbbbbbbbbbbb 'ccccccccccccccc 'fooooo_fooooooo.
      'foo
      -> 'b
