anchor.diff:      let sig_ = mlsig_of_sig (mk_mlenv name) fmod_.declarations in
       (name, sig_, mod_)
   
  +let mlmod_of_iface (fmod_ : modul) =
  +    let name = Backends.OCaml.Syntax.mlpath_of_lident fmod_.name in
  +    fprint1 "OCaml skip: %s\n" fmod_.name.ident.idText;
  +    mlsig_of_sig (mk_mlenv name) fmod_.declarations |> ignore
  +    
  +
   (* -------------------------------------------------------------------- *)
   let mllib_empty : mllib =
       MLLib []
  
positive.code: let is_xtuple (x : lident) =
      if is_prim_ns x.ns then
          match x.ident.idText with
          | "MkTuple2" -> Some 2
          | "MkTuple3" -> Some 3
          | "MkTuple4" -> Some 4
          | "MkTuple5" -> Some 5
          | "MkTuple6" -> Some 6
          | "MkTuple7" -> Some 7
          | _          -> None
      else
          None
  
negative.code:             | { n = Exp_fvar (c, false) } ->
                  let subns = String.concat "." (List.map (fun x -> x.idText) c.v.ns) in
                  let rn, subnsl = match List.rev c.v.ns with [] -> "", [] | h::t -> h.idText, List.rev t in
                  (match smap_try_find record_constructors subns, args with
                  | Some _, [arg] ->
                      MLE_Proj (arg, (path_of_ns mlenv subnsl, c.v.ident.idText))
                  | Some _, arg::args ->
                      MLE_App (MLE_Proj (arg, (path_of_ns mlenv subnsl, c.v.ident.idText)), args)
                  | _ -> MLE_App (mlexpr_of_expr mlenv rg lenv sube, args))
              | _ -> MLE_App (mlexpr_of_expr mlenv rg lenv sube, args)
  