anchor.diff:  /// Converts a pair of AST views into a ConditionPair.
   /// The pair is enclosed in a Chessie result.
   let makeConditionPair ctx preAst postAst =
  -    trial { let! pre = modelView ctx preAst
  -            let! post = modelView ctx postAst
  -            return { Pre = pre
  -                     Post = post }}
  +    lift2 (fun pre post -> { Pre = pre
  +                             Post = post } )
  +          (modelView ctx preAst)
  +          (modelView ctx postAst)
   
   //
   // Axioms
  
positive.code: let axiomArithExprToZ3 pmod expr =
      arithExprToZ3 pmod.Context expr |> mapMessages AEBadExpr
  
  /// Extracts the precondition of a part-axiom.
  let preOfPartAxiom pa =
      match pa with
      | PAAxiom a -> a.AConditions.Pre
      | PAWhile (outer = o) -> o.Pre
      | PAITE (outer = o) -> o.Pre
  
  /// Extracts the postcondition of a part-axiom.
  let postOfPartAxiom pa =
      match pa with
      | PAAxiom a -> a.AConditions.Post
      | PAWhile (outer = o) -> o.Post
      | PAITE (outer = o) -> o.Post
  
  /// Extracts a condition pair from a list of part-axioms.
  ///
  
negative.code: let axiomsToConditionPair axioms =
      match axioms with
      | [] -> None
      | xs -> Some { Pre = (cpairOfPartAxiom xs.[0]).Pre
                     Post = (cpairOfPartAxiom xs.[List.length xs - 1]).Post }
  
  /// Converts an atomic action to a Prim.
  let rec modelPrimOnAtomic pmod atom =
  