anchor.diff:              toCallResult abstractType x @ toCallResult abstractType y
           | Call(None, mi, [lhs;rhs]) when hasAttribute typeof<ReturnsAttribute> mi -> 
               let mi, args = toCallOfType abstractType lhs
  -            let returns = ReturnValue(rhs.EvalUntyped(), mi.ReturnType)
  +            let returns = ReturnValue(eval rhs, mi.ReturnType)
               [mi,(args,returns)]
           | Call(None, mi, [lhs;rhs]) when hasAttribute typeof<RaisesAttribute> mi -> 
               let mi, args = toCallOfType abstractType lhs
  -            let raises = RaiseValue(rhs.EvalUntyped() :?> exn)
  +            let raises = RaiseValue(eval rhs :?> exn)
               [mi,(args,raises)]
           | expr -> invalidOp(expr.ToString())
       /// Converts expression to corresponding event Add and Remove handlers
  
positive.code:         )
          |> Seq.length
  
  open Verification
  
  type Mock with
  
negative.code:             match arg with
              | Call(_, mi, _) when hasAttribute typeof<WildcardAttribute> mi -> Any
              | Call(_, mi, [pred]) when hasAttribute typeof<PredicateAttribute> mi -> 
                  Pred(eval pred)
              | expr -> eval expr |> Arg |]
      /// Converts expression to a tuple of Expression, MethodInfo and Arg array
      let toCall = function
          | Call(Some(x), mi, args) -> x, mi, toArgs args
  