 +  constructors)
 +
  Compilers:
+ - PR#5861: raise an error when multiple private keywords are used in type declarations
  - PR#5634: parsetree rewriter (-ppx flag)
- - ocamldep now supports -absname
 Index: typing/typecore.ml
 ===================================================================
---- typing/typecore.ml	(revision 13146)
+--- typing/typecore.ml	(revision 13157)
 +++ typing/typecore.ml	(working copy)
 @@ -326,7 +326,7 @@
          | _ -> assert false

   let lev, env =
     if has_gadts then begin
       (* raise level for existentials *)
@@ -3072,10 +3099,10 @@
         let scope = Some (Annot.Idef loc) in
         let (pat, ext_env, force, unpacks) =
           let partial =

-          let ty_arg =
-            if dont_propagate then newvar () else instance ?partial env ty_arg
-          in type_pattern ~lev env spat scope ty_arg
+            if !Clflags.principal || erase_either
+            then Some false else None in
+          let ty_arg = instance ?partial env ty_arg in
+          type_pattern ~lev env spat scope ty_arg
