anchor.diff:              (fun _ -> Seq.empty)
               mview
               m
  +    | Proof m ->
  +        printModelView
  +            (printTerm
  +                 Core.Var.Pretty.printMBoolExpr
  +                 Core.Var.Pretty.printMBoolExpr
  +                 Core.Var.Pretty.printMBoolExpr)
  +            (fun _ -> Seq.empty)
  +            mview
  +            m       
       | Z3 z -> Backends.Z3.Pretty.printResponse mview z
       | MuZ3 z -> Backends.MuZ3.Pretty.printResponse mview z
       | HSF h -> Backends.Horn.Pretty.printHorns h
  
positive.code:     | TermOptimise
      /// Output a fully-instantiated proof with symbols.
      | SymProof
      /// Run the Z3 backend, with the given request.
      | Z3 of Backends.Z3.Types.Request
      /// Run the MuZ3 backend (experimental), with the given request.
  
negative.code:     | Flatten of UFModel<STerm<SMGView, SMVFunc>>
      /// The result of term optimisation.
      | TermOptimise of UFModel<STerm<SMGView, SMVFunc>>
      /// Output a fully-instantiated symbolic proof.
      | SymProof of Model<SFTerm, unit>
      /// Output a fully-instantiated non-symbolic proof.
      | Proof of Model<FTerm, unit>
      /// The result of Z3 backend processing.
      | Z3 of Backends.Z3.Types.Response
      /// The result of MuZ3 backend processing.
  