anchor.diff:          wait compareTimeout (fun _ -> ( let elems = elements cssSelector
                                           elems.Length = count))
       with
  -        | :? WebDriverTimeoutException -> failwith (String.Format("count failed. expected: {0} got: {1} ", count, (elements cssSelector).Length));
  +        | :? WebDriverTimeoutException -> raise (CanopyCountException(sprintf "count failed. expected: %i got: %i" count (elements cssSelector).Length));
   
   let private regexMatch pattern input = System.Text.RegularExpressions.Regex.Match(input, pattern).Success
   
  
positive.code:     try
          wait compareTimeout (fun _ -> regexMatch pattern (read cssSelector))
      with
          | :? WebDriverTimeoutException -> failwith (String.Format("regex equality check failed.  expected: {0}, got: {1}", pattern, (read cssSelector)));
  
  let ( *~ ) (cssSelector : string) pattern =
      try        
  
negative.code:     try
          wait pageTimeout (fun _ -> (browser.Url.Contains(u)))
      with
          | ex -> raise (CanopyOnException(sprintf "on check failed, expected %s got %s" u browser.Url));
      ()
  
  let ( !^ ) (u : string) = browser.Navigate().GoToUrl(u)
  