--- /dev/null
+commit 0fa0a19f15998e89e4b04150dd74529bbd406f42
+Author: Gabriel Scherer <gabriel.scherer@gmail.com>
+Date: Fri Feb 24 22:30:23 2017 -0500
+
+ 4.05 compatibility: use explicit module signatures
+
+ In 4.05, checking for non-generalizable inference variable ('_a)
+ (forbidden in toplevel modules and functors) happens before checking
+ the .ml file against the .mli signature, so non-generalizable
+ variables that were previously resolved through the .mli constraint
+ are now underspecified and result in a compilation failure
+ (see MPR#7414, GPR#929). This commit adds enough annotations to avoid
+ such underspecified variables in functors.
+
+diff --git a/Camomile/internal/unimap.ml b/Camomile/internal/unimap.ml
+index b6fdbde..6a7cc30 100644
+--- a/Camomile/internal/unimap.ml
++++ b/Camomile/internal/unimap.ml
+@@ -58,7 +58,7 @@ val of_name : string -> t
+ end
+
+
+-module Make (Config : ConfigInt.Type) = struct
++module Make (Config : ConfigInt.Type) : Type = struct
+
+ type mapping = {no_char : int; tbl : Tbl31.Bytes.t}
+
+diff --git a/Camomile/public/uCharInfo.ml b/Camomile/public/uCharInfo.ml
+index 69bf141..6a0337a 100644
+--- a/Camomile/public/uCharInfo.ml
++++ b/Camomile/public/uCharInfo.ml
+@@ -298,7 +298,7 @@ val load_composition_exclusion_tbl : unit -> UCharTbl.Bool.t
+
+ end
+
+-module Make (Config : ConfigInt.Type) = struct
++module Make (Config : ConfigInt.Type) : Type = struct
+ include Unidata.Make(Config)
+
+ (* General category *)