anchor.diff:          match a.ApplyActual id actual with
           | MatchSuccess x -> b.ApplyActual id (x :?> 'b)
           | x -> x
  -    createMatcher f (sprintf "%s %s" a.FailureMsgForShould b.FailureMsgForShould)+    createMatcher f (sprintf "%s %s" a.ExpectationMsgForShould b.ExpectationMsgForShould)
  
positive.code:         (shouldNotMsg : string) =
      { new Matcher<'T> () with
          member __.ApplyActual g actual = f actual |> g
          member __.FailureMsgForShould = shouldMsg
          member __.FailureMsgForShouldNot = shouldNotMsg
      }
  
  let createMatcher<'T> (f : 'T -> MatchResult) (shouldMsg : string) =
  
negative.code:             with
              | e -> e.Message |> applyMatcher matcher id 
          createMatcher f
              (sprintf "throw exception with message %s" matcher.ExpectationMsgForShould)
              
      let withMessageContaining msg =
          withMessage (be.string.containing msg)
  