anchor.diff:              propertyType, 
               GetterCode = (fun args -> 
                   Expr.Coerce(
  -                    <@@ ((%%args.[0]: obj) :?> Container).[propertyName] @@>,
  +                    <@@ ((%%args.[0]: obj) :?> Underlying).[propertyName] @@>,
                       propertyType)))
   
       /// Creates a constructor which intialized given list of properties. 
  
positive.code: open ProviderImplementation.ProvidedTypes
  open Froto.Parser.Model
  
  type Container = Dictionary<string, obj>
  
  [<RequireQualifiedAccess>]
  module internal TypeGen =
  
negative.code:     ///     container.Add("Prop2", prop2 :> obj)
      ///     container.Add("Prop3", prop3 :> obj)
      ///     container
      let private createConstructor (properties: PropertyMetadata list) =
          let parameters =
              properties
              |> List.map (fun prop -> ProvidedParameter(Naming.pascalToCamel prop.ProvidedProperty.Name, prop.ProvidedProperty.PropertyType))
  
          let add dict name value =
              let boxed = Expr.Coerce(value, typeof<obj>)
              <@@ (%%dict: Underlying).Add(name, %%boxed) @@>
  
          let constructorBody args =
              let container = Var("container", typeof<Underlying>)
              let containerExp = Expr.Var container
              let namedArgs = args |> List.mapi (fun i var -> properties.[i].ProvidedProperty.Name, var) 
              let body = 
                  List.foldBack 
                      (fun (name, value) prev -> Expr.Sequential(add containerExp name value, prev)) 
  