functor (A : Variant_and_record_intf.S) (B : Variant_and_record_intf.S) ->
  sig
    type map = { map : 'a. 'a A.t -> 'a B.t; }
    val map_variant :
      Type_generic.Helper.map -> 'a A.Variant.t -> 'a B.Variant.t
    val map_record :
      Type_generic.Helper.map -> 'a A.Record.t -> 'a B.Record.t
  end