anchor.diff:                          yield sub.[0].ToString().ToUpper() + sub.ToLower().Substring(1) }
               |> String.concat ""
   
  -        while set.Contains name do 
  +        while set.ContainsKey name do 
             let mutable lastLetterPos = String.length name - 1
             while Char.IsDigit name.[lastLetterPos] && lastLetterPos > 0 do
               lastLetterPos <- lastLetterPos - 1
  
positive.code: let (|Lower|_|) = satisfies Char.IsLower
  
  /// Turns a string into a nice PascalCase identifier
  let niceName (set:System.Collections.Generic.HashSet<_>) =     
      fun (s: string) ->
          if s = s.ToUpper() then s else
          // Starting to parse a new segment 
  
negative.code: let erasedType<'T> assemblyName rootNamespace typeName = 
      ProvidedTypeDefinition(assemblyName, rootNamespace, typeName, Some(typeof<'T>))
  
  let generalTypeSet = System.Collections.Concurrent.ConcurrentDictionary()
  
  let runtimeType<'T> typeName = ProvidedTypeDefinition(niceName generalTypeSet typeName, Some typeof<'T>)
  
  