anchor.diff:          | Intermediate (i, s) -> String "inter_" <-> String (sprintf "%A_" i) <-> String s 
           | Goal (i, s) -> String "goal_" <-> String (sprintf "%A_" i) <-> String s 
   
  +    /// Prints a typed Var 
  +    let printTypedVarGrass (v : TypedVar) = 
  +        match v with 
  +        | Int name -> String name  
  +        | Bool name -> String name  
  +        | _ -> failwith "Unimplemented for Grasshopper backend." 
  +
       // Print infix operator across multiple lines
       let infexprV (op : string) (pxs : 'x -> Doc) (xs : seq<'x>) : Doc = 
           let mapped = Seq.map pxs xs 
  
positive.code:         |> lift (Set.map valueOf) 
          |> lift (Set.toSeq) 
          |> returnOrFail
  
      let printTypedVarGrass (v : TypedVar) = 
          match v with 
          | Int name -> String name  
          | Bool name -> String name  
          | _ -> failwith "Unimplemented for Grasshopper backend." 
  
  
      let printZTermGrass (svars : VarMap) 
  
negative.code:         match sym with
          | Reg r -> pReg r
          | Sym { Sentence = ws; Args = xs } ->
              let pArg = printExprG (printSym pReg)
              parened
                  (printInterpolatedSymbolicSentence pArg ws xs)
  
  