anchor.diff:    | Annotated(x, t) -> Some x, desugar_typ env t
     | TVariable x     -> Some x, mk (Tm_type U_unknown) None (range_of_id x)
     | NoName t        -> None, desugar_typ env t
  -  | Variable x      -> Some x, tun
  +  | Variable x      -> Some x, tun_r (range_of_id x)
   
   and as_binder env imp = function
     | (None, k) -> null_binder k, env
  
positive.code:     mk_pattern (PatAscribed (mk_pattern (PatWild None) p.prange, (unit_ty p.prange, None))) p.prange
    | _ -> p
  
  let rec destruct_app_pattern env is_top_level p = match p.pat with
    | PatAscribed(p,t) ->
      let (name, args, _) = destruct_app_pattern env is_top_level p in
      (name, args, Some t)
  
negative.code:         let pats = ((p,ans)::List.rev ps) in
          env, var, pats
        | _ ->
          let loc, env, var, pat, ans = aux' true loc env p in
          env, var, [(pat, ans)]
    in
  
    let env, b, pats = aux_maybe_or env p in
  