anchor.diff:                   else id)
   
           match request with
  +        | Request.Proof   -> phase proof Response.Proof
           | Request.HSF     -> phase (filterIndefinite >> hsf) Response.HSF
           | Request.Z3 rq   -> phase (maybeApprox >> filterDefinite >> z3 reals rq) Response.Z3
           | Request.MuZ3 rq -> phase (filterIndefinite >> muz3 reals rq) Response.MuZ3
  
positive.code:                  ("flatten", Request.Flatten)
                   ("semantics", Request.Semantics)
                   ("termOptimise", Request.TermOptimise)
                   ("reifyZ3", Request.Z3 Backends.Z3.Types.Request.Translate)
                   ("z3", Request.Z3 Backends.Z3.Types.Request.Combine)
                   ("sat", Request.Z3 Backends.Z3.Types.Request.Sat)
  
negative.code:         printUFModelView (printSTerm printSMGView printSMVFunc) mview m
      | TermOptimise m ->
          printUFModelView (printSTerm printSMGView printSMVFunc) mview m
      | Proof m ->
          printModelView
              (printTerm printSMBoolExpr printSMBoolExpr printSMBoolExpr)
              (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
  