anchor.diff:  [<AutoOpen>]
   module GenBuilder =
   
  -    let private ``return`` x = Gen (fun _ _ -> x)
  +    let private result x = Gen (fun _ _ -> x)
   
       let private bind ((Gen m) : Gen<_>) (k : _ -> Gen<_>) : Gen<_> = 
           Gen (fun n r0 -> let r1,r2 = split r0
  
positive.code:       if p() then
          bind m (fun _ -> doWhile p m)
        else
          ``return`` ()
  
      let private tryFinally (Gen m) handler = 
          Gen (fun n r -> try m n r finally handler ())
  
negative.code:           using (s.GetEnumerator()) (fun ie ->
              doWhile (fun () -> ie.MoveNext()) (delay (fun () -> f ie.Current))
            )
          member __.Zero() = result ()
  
      ///The workflow function for generators, e.g. gen { ... }
      let gen = GenBuilder()
  