anchor.diff:          wait elementTimeout (fun _ -> ( let elem = element cssSelector
                                           (browser :?> IJavaScriptExecutor).ExecuteScript(js, elem) |> ignore
                                           true))
  -    | _ -> failwith (String.Format("Can't doubleClick {0} because it is not a string or webelement", item.ToString()))
  +    | _ -> raise (CanopyNotStringOrElementException(sprintf "Can't doubleClick %s because it is not a string or webelement" (item.ToString())))
   
   
   let check cssSelector = if (element cssSelector).Selected = false then click cssSelector
  
positive.code:         with
              | :? WebDriverTimeoutException -> raise (CanopyEqualityFailedException(sprintf "equality check failed.  expected: %s, got: %s" value !bestvalue))
  
      | _ -> raise (CanopyEqualityFailedException(sprintf "Can't check equality on %s because it is not a string or alert" (item.ToString())))
  
  let ( != ) cssSelector value =
      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)
  