anchor.diff:                  
               Expr.Let(
                   container, 
  -                <@@ new Container() @@>, 
  +                <@@ new Underlying() @@>, 
                   body)
   
           ProvidedConstructor(parameters, InvokeCode = constructorBody)
  
positive.code:         message.Enums |> Seq.map (createEnum nestedScope lookup) |> Seq.iter providedType.AddMember
          message.Messages |> Seq.map (typeForMessage nestedScope lookup) |> Seq.iter providedType.AddMember
  
          let properties = message.Fields |> List.map (propertyForField nestedScope lookup)
          properties |> Seq.iter providedType.AddMember
          
          providedType.AddMember <| createConstructor properties
  
  
negative.code: open ProviderImplementation.ProvidedTypes
  open Froto.Parser.Model
  
  type Underlying = Dictionary<string, obj>
  
  type PropertyMetadata = 
      { ProvidedProperty: ProvidedProperty;
        ProtoField: ProtoField }
  
  [<RequireQualifiedAccess>]
  module internal TypeGen =
  