anchor.diff:      with
           | :? WebDriverTimeoutException -> 
                   puts "Condition not met in given amount of time. If you want to increase the time, put compareTimeout <- 10.0 anywhere before a test to increase the timeout"
  -                failwith (String.Format("waitFor condition failed to become true in {0} seconds", compareTimeout))
  +                raise (CanopyWaitForException(sprintf "waitFor condition failed to become true in %.1f seconds" compareTimeout))
   
   //find related
   let private findByCss cssSelector f =
  
positive.code:     let elem = element cssSelector
      let readonly = elem.GetAttribute("readonly")
      if readonly = "true" then
          failwith (String.Format("element {0} is marked as read only, you can not clear read only elements", cssSelector))        
      elem.Clear()
  
  //status
  let selected (cssSelector : string) = 
      let elem = element cssSelector
      if elem.Selected = false then
          failwith (String.Format("element selected failed, {0} not selected.", cssSelector));    
      
  let deselected (cssSelector : string) =     
          let elem = element cssSelector
          if elem.Selected then
              failwith (String.Format("element deselected failed, {0} selected.", cssSelector));    
  
  //keyboard
  let tab = Keys.Tab
  
negative.code:                                 ()           
                              else
                                  alert.Dismiss()
                                  raise (CanopyEqualityFailedException(sprintf "equality check failed.  expected: %s, got: %s" value text))
      | :? string as cssSelector -> 
          let bestvalue = ref ""
          try
  