anchor.diff:    postulate "false" (Free "Bool")
   
   let main () : unit =
  +  let le = new LineEditor("sillytypes")
  +
     printfn "Silly dependent type checker version 0.0.0.\n:q to quit."
  -  loop startState
  +  loop le startState
   
   main ()
   
  
positive.code:            printfn "  %s  :  %s" x y)
           (printf " Error: %s\n")
  
  let rec loop (s : state) : unit =
    printf "\n> "
    let input = Console.ReadLine ()
  
    lex input
    |> parse
    |> Result.fold (function
                    | Eval e -> evaluate s e ; loop s
                    | Postulate (x, ty) -> loop (postulate x ty s)
                    | ShowState -> showState s ; loop s
                    | Quit -> printfn "bye!")
                   (fun err -> printfn "%s" err ; loop s)
  and showState = function
    | State (Global.Env ss) ->
        for (x, defn, ty) in ss do
  
negative.code: 
  open Microsoft.FSharp.Text.Lexing
  open System
  open Mono.Terminal
  
  
  open Nat
  