anchor.diff:  
       let insert () =
         let result    = doInsert empty
  -      Checker.check (result.Count = inserted.Count) "Expected to be same length as testSet"
  +      Checker.check (fun () -> result.Count = inserted.Count) "Expected to be same length as testSet"
   
       let remove () =
         let result    = doRemove inserted
  -      Checker.check (result.Count = 0) "Expected to be empty"
  +      Checker.check (fun () -> result.Count = 0) "Expected to be empty"
   
       let insertAndRemove () =
         let inserted  = doInsert empty
         let result    = doRemove inserted
  -      Checker.check (result.Count = 0) "Expected to be empty"
  +      Checker.check (fun () -> result.Count = 0) "Expected to be empty"
   
       let insertAndLookup () =
         let inserted  = doInsert empty
  -      let result    = doLookup removals inserted
  -      Checker.check result "Expected true for all"
  +      let result    = doLookup lookups inserted
  +      Checker.check (fun () -> result) "Expected true for all"
   
       let lookupInserted () =
  -      let result    = doLookup removals inserted
  -      Checker.check result "Expected true for all"
  +      let result    = doLookup lookups inserted
  +      Checker.check (fun () -> result) "Expected true for all"
   
     let testCases =
       [|
         "Lookup"  , "Mutable Dictionary"           , Dict.lookupInserted
         "Insert"  , "Mutable Dictionary"           , Dict.insert
  +      "Remove"  , "Mutable Dictionary"           , Dict.remove
         "Lookup"  , "Persistent Hash Map (C#)"     , PersistentHashMap.lookupInserted
         "Insert"  , "Persistent Hash Map (C#)"     , PersistentHashMap.insert
         "Remove"  , "Persistent Hash Map (C#)"     , PersistentHashMap.remove
  
positive.code:       |> Array.fold (fun s (k, v) -> Vmap.add k v s) phm
  
      let inline doRemove phm =
        inserts
        |> Array.fold (fun s (k, v) -> Vmap.remove k s) phm
  
      let inline doLookup fa phm =
  
negative.code: 
      let insert () =
        let result    = doInsert empty
        Checker.check (fun () -> result.Count = inserted.Count) "Expected to be same length as testSet"
  
      let remove () =
        let result    = doRemove inserted
        Checker.check (fun () -> result.Count = 0) "Expected to be empty"
  
      let insertAndRemove () =
        let inserted  = doInsert empty
        let result    = doRemove inserted
        Checker.check (fun () -> result.Count = 0) "Expected to be empty"
  
      let insertAndLookup () =
        let inserted  = doInsert empty
        let result    = doLookup lookups inserted
        Checker.check (fun () -> result) "Expected true for all"
  
      let lookupInserted () =
        let result    = doLookup lookups inserted
        Checker.check (fun () -> result) "Expected true for all"
  
    module Map2 =
  
  