anchor.diff:          static member free number =
               Unique.free number UniqueAllocator
   
  +        /// Generate a unique counter.
  +        static member counter =
  +            lock Lock (fun () -> Counter <- inc Counter; Counter)
  +
   /// Generates engine-specific values on-demand.
   type Gen = Gen.Gen
positive.code:             | Some item -> item
              | None -> default_
  
          /// Generate a unique counter.
          static member counter =
              lock Lock (fun () -> Counter <- inc Counter; Counter)
  
          /// The prefix of a generated name
          static member namePrefix =
              "@"
  
          /// Generate a unique name.
          static member name =
              Gen.namePrefix + scstring Gen.counter
  
          /// Generate a unique name if given none.
          static member nameIf nameOpt =
  
negative.code: 
      let private Lock = obj ()
      let private Random = Random ()
      let private Cids = dictPlus<string, Guid> StringComparer.Ordinal []
      let private CidBytes = Array.zeroCreate 16
      let private CnameBytes = Array.zeroCreate 16
      let private UniqueAllocator = Unique.make ()
      let mutable private Counter = -1L
  
      /// Generates engine-specific values on-demand.
      type Gen =
  