anchor.diff:                  match minfo with 
                   | :? ProvidedMethod as pminfo when not (methMap.ContainsKey pminfo)  -> 
                       let mb = tb.DefineMethod(minfo.Name, minfo.Attributes, convType minfo.ReturnType, [| for p in minfo.GetParameters() -> convType p.ParameterType |])
  -                    for (i,p) in minfo.GetParameters() |> Seq.mapi (fun i x -> (i,x)) do
  -                        mb.DefineParameter(i+1, ParameterAttributes.None, p.Name) |> ignore
  +                    for (i,(:? ProvidedParameter as p)) in minfo.GetParameters() |> Seq.mapi (fun i x -> (i,x)) do
  +                        let pb = mb.DefineParameter(i+1, ParameterAttributes.None, p.Name)
  +                        if p.HasDefaultParameterValue then 
  +                            pb.SetConstant p.RawDefaultValue
  +                            do
  +                                let ctor = typeof<System.Runtime.InteropServices.DefaultParameterValueAttribute>.GetConstructor([|typeof<obj>|])
  +                                let builder = new CustomAttributeBuilder(ctor, [|p.RawDefaultValue|])
  +                                pb.SetCustomAttribute builder
  +                            do
  +                                let ctor = typeof<System.Runtime.InteropServices.OptionalAttribute>.GetConstructor([||])
  +                                let builder = new CustomAttributeBuilder(ctor, [||])
  +                                pb.SetCustomAttribute builder
  +                            pb.SetConstant p.RawDefaultValue
                       methMap.[pminfo] <- mb
                   | _ -> () 
   
  
positive.code:     override this.Attributes = (base.Attributes ||| (if isOut then ParameterAttributes.Out else enum 0)
                                                  ||| (match optionalValue with None -> enum 0 | Some _ -> ParameterAttributes.Optional ||| ParameterAttributes.HasDefault))
      override this.RawDefaultValue = defaultArg optionalValue null
      member __.GetCustomAttributesDataImpl() = customAttributesImpl.GetCustomAttributesData()
  #if FX_NO_CUSTOMATTRIBUTEDATA
  #else
  
negative.code:         TypeAttributes.Class ||| 
          TypeAttributes.Sealed |||
          enum (int32 TypeProviderTypeAttributes.IsErased)
  
  
      let mutable baseType   =  lazy baseType
      let mutable membersKnown   = ResizeArray<MemberInfo>()
  