anchor.diff:              delay (fun () ->
                   use r = set.GetReader()
                   r.Update(null)
  -                r.Content |> Seq.choose f
  +                r.Content |> Seq.toList |> List.choose f
               )
           else
               let scope = Ag.getContext()
  
positive.code:             member x.Copy = x :> aset<_>
  
              member x.GetReader () =
                  let r = new OneShotReader<'a>(content.Value |> Seq.toList |> List.map Add)
                  r :> IReader<_>
  
          new(l : seq<'a>) = ConstantSet<'a>(lazy (HashSet l))
          new(content : Lazy<list<'a>>) = ConstantSet<'a>(lazy (HashSet content.Value))
  
      type private EmptySetImpl<'a> private() =
          static let emptySet = ConstantSet [] :> aset<'a>
          static member Instance = emptySet
  
      let private scoped (f : 'a -> 'b) =
  
negative.code:     let ofArray (a : 'a[]) =
          ConstantSet(a) :> aset<_>
  
      let delay (f : unit -> list<'a>) =
          let scope = Ag.getContext()
          ConstantSet(lazy (Ag.useScope scope f)) :> aset<_>
  
      /// <summary>
      /// returns a list of all elements currently in the adaptive set. 
  