Skip to content

Instantly share code, notes, and snippets.

@nyuichi
Created August 16, 2019 05:53
Show Gist options
  • Save nyuichi/c1ed37eadf21df400de5f468c7d9e462 to your computer and use it in GitHub Desktop.
Save nyuichi/c1ed37eadf21df400de5f468c7d9e462 to your computer and use it in GitHub Desktop.
! [Type Error] at "bug.saty", line 11, character 0 to line 15, character 3:
The implementation of value 'make' has type
('a phantom) M.t
which is inconsistent with the type required by the signature
('#a phantom) M.t
type 'a phantom = Phantom
module M : sig
type 'a t
val make : 'a -> 'a t
end = struct
type 'a t = 'a option
let make _ = None
end
module N : sig
val make : ('a phantom) M.t
end = struct
let make = M.make (Phantom)
end
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment