anchor.diff:      |> should equal 1
   
   [<Test>]
  -[<ExpectedException(typeof<System.Exception>, ExpectedMessage = "check")>]
  -let ``{check p x} fails if the predicate {p} yields {false} when applied to the value {x}``() =
  -
  -    check ((=) 1) 2
  -    |> ignore
  +let ``{check p x} returns choice exception if the predicate {p} yields {false} when applied to the value {x}``() =
  +
  +    let x = check ((=) 1) 2
  +    // TODO: Make this a NUnit custom constraint
  +    match x with
  +    | Choice1Of2 v -> Assert.Fail ()
  +    | Choice2Of2 e -> Assert.AreEqual (e.Message, "check")
   
   (* funpow tests *)
   
  
positive.code:     |> should equal 4
  
  [<Test>]
  [<ExpectedException(typeof<System.Exception>, ExpectedMessage = "find")>]
  let ``{find p [x1;_;xn]} fails with if no element satisfies the predicate``() =
      
      find (fun x -> x > 5) [1;2;3;4;5]
      |> ignore
  
  (* tryfind tests *)
  
  
negative.code:     let mappedF = mapf string_of_int f
  
      apply mappedF 1
      |> should equal (Some "2")
  
  (* foldl tests *)
  
  