anchor.diff:      pipe3ws (pstring "if" >>. ws >>. inParens parseExpression)
               (parseBlock .>> ws .>> pstring "else")
               parseBlock
  -            (fun c t f -> If (c, t, f))
  +            (curry3 If)
   
   /// Parser for atomic commands (not the actions themselves; that is parseAtomic).
   let parseAtomicCommand =
  
positive.code: let parseFetchOrPostfix =
      parseLValue
      .>> ws
      >>= ( fun id -> choice [ stringReturn "++" (Postfix (id, Increment))
                               stringReturn "--" (Postfix (id, Decrement))
                               pstring "=" >>. ws >>. parseFetch id ] )
  
  /// Parser for assume actions.
  let parseAssume =
  
negative.code:     pstring "view"
      >>. ws
      >>. wrapFuncLike parseIdentifier
                       (fun (n, p) -> { VPName = n
                                        VPPars = p } )
                       parseTypedParam
      .>> ws .>> pstring ";" .>> ws
  
  