functor (Config : sig type t end) -> sig type 'a t = Left of Config.t | Right of 'a val fmap : ('a -> 'b) -> 'a Functor_test.Either.t -> 'b Functor_test.Either.t end