anchor.diff:                  cssSelector |> elements |> List.iter (fun e -> bprintf sb "%s\r\n" (textOf e))
                   raise (CanopyValueNotInListException(sprintf "cant find %s in list %s\r\ngot: %s" value cssSelector (sb.ToString())))
   
  -let ( *!= ) (cssSelector : string) value =
  +let ( *!= ) cssSelector value =
       try
           wait compareTimeout (fun _ -> ( cssSelector |> elements |> Seq.exists(fun element -> (textOf element) = value) |> not))
       with
  
positive.code:             |> Seq.map (fun r -> r.selector) |> List.ofSeq
              |> (fun suggestions -> reporter.suggestSelectors cssSelector suggestions)    
  
  let describe (text : string) =
      puts text
  
  let waitFor (f : unit -> bool) =
  
negative.code:     sleep wipSleep    
      swallowedJs <| sprintf "document.querySelector('%s').style.border = 'thick solid #ACD372';" cssSelector
  
  let highlight cssSelector = 
      swallowedJs <| sprintf "document.querySelector('%s').style.border = 'thick solid #ACD372';" cssSelector
  
  let suggestOtherSelectors cssSelector =     
      if not disableSuggestOtherSelectors then
          let allElements = browser.FindElements(By.CssSelector("html *")) |> Array.ofSeq
          let classes = allElements |> Array.Parallel.map (fun e -> "." + e.GetAttribute("class"))
  