anchor.diff:    let rec make_univ_abst (us:list<univ_name>) (bs:list<t>) (def:term) : t =
       match us with
       | [] -> translate env bs def
  -    | u :: us' -> Lam ((fun u -> make_univ_abst us' (u :: bs) def), None) // Zoe: Leaving universe binder qualifier none for now; NS: makes sense
  +      | u :: us' -> Lam ((fun u -> make_univ_abst us' (u :: bs) def), Constant Unit, None) // Zoe: Bogus type! The idea is that we will never readback these lambdas
     in
     make_univ_abst lb.lbunivs bs lb.lbdef
   
  
positive.code: let rec app (f:t) (x:t) (q:aqual) =
    debug (fun () -> BU.print2 "When creating app: %s applied to %s\n" (t_to_string f) (t_to_string x));
    match f with
    | Lam (f, _) -> f x
    | Accu (a, ts) -> Accu (a, (x,q)::ts)
    | Construct (i, us, ts) ->
      (match x with
  
negative.code:   (* Zoe : a recursive function definition together with its block of mutually recursive function definitions and its environment *)
  //IN F*: and t : Type0 =
  and t = //JUST FSHARP
    | Lam of (t -> t) * t * aqual //NS: * ((unit -> t) * (type : t) * aqual)
    | Accu of atom * args
    (* For simplicity represent constructors with fv as in F* *)
    | Construct of fv * list<universe> * args (* Zoe: This is used for both type and data constructors*)
  