anchor.diff:  
       /// Pretty-prints expressions.
       /// This is not guaranteed to produce an optimal expression.
  -    let rec printExpressionType =
  +    let rec printExpression' : Expression' -> Doc =
           function
           | True -> String "true" |> syntaxLiteral
           | False -> String "false" |> syntaxLiteral
  
positive.code:         |> withSemi
  
      /// Pretty-prints fetch modes.
      let printFetchMode =
          function
          | Direct -> Nop
          | Increment -> String "++"
          | Decrement -> String "--"
  
      /// Pretty-prints local assignments.
      let printAssign dest src =
          equality (printLValue dest) (printExpression src)
  
      /// Pretty-prints atomic actions.
      let printAtomicType =
          function
          | CompareAndSwap(l, f, t) ->
              func "CAS" [ printLValue l
  
negative.code:             func (sprintf "%%{%s}" sym) (Seq.map printExpression args)
          | BopExpr(op, a, b) ->
              hsep [ printExpression a
                     printBinOp op
                     printExpression b ]
              |> parened
      and printExpression (x : Expression) : Doc = printExpression' x.Node
  
      /// Pretty-prints views.
      let rec printView : View -> Doc =
          function
          | View.Func f -> printFunc printExpression f
          | View.Unit -> String "emp" |> syntaxView
  