anchor.diff:              })
       static member Default = defaultInstance :> ITypeHandler
   
  -    member this.ResolveEnumValueByName(name) = enumValuesByName.TryFind(name)
  -    member this.ResolveVariableTypeByName(name) = typesByName.TryFind(name)
  +    member this.ResolveEnumValueByName(name) =
  +        initialize()
  +        enumValuesByName.TryFind(name)
  +    member this.ResolveVariableTypeByName(name) =
  +        initialize()
  +        typesByName.TryFind(name)
           
       interface ITypeHandler with
  -        member this.DefinedTypes = context.Value.DefinedTypes
  -        member this.GetMapping(targetType) =
  +        member this.DefinedTypes =
  +            initialize()
  +            context.Value.DefinedTypes
  +        member this.GetMapping(targetType) =
  +            initialize()
               let mutable cached = None
               if (not <| mappingCache.TryGetValue(targetType, &cached)) then
                   cached <- context.Value.GetMapping(targetType)
  
positive.code:         )
      let enumValuesByName = new Dictionary<string, EnumValue>()
      let typesByName = new Dictionary<string, CoreVariableType>()
      do
          for definedType in context.Value.DefinedTypes do
              if typesByName.ContainsKey(definedType.TypeName) then
                  invalid <| sprintf "The type ``%s'' is defined more than once" definedType.TypeName
  
negative.code: 
  /// Aggregates a chain of type handlers to support exposing CLR types as GraphQL scalar types.
  type RootTypeHandler(metaHandler : IMetaTypeHandler) as this =
      let mutable initialized = false
      let mappingCache = new Dictionary<Type, TypeMapping option>()
      let context =
          lazy(
  