anchor.diff:  
   /// IL Method definitions. 
   ///
  -/// The object is immutable.  We use a class to get control over the representation used, 
  -/// which allows more efficient representation of the information.
  +/// This type is immutable and record-like.  We use a class to get control over the representation
  +/// used, which allows more efficient representation of the information.
   [<NoComparison; NoEquality>]
   type ILMethodDef = 
  +
  +    /// Functional creation of a value
       new: name: string * attributes: MethodAttributes * implAttributes: MethodImplAttributes * callingConv: ILCallingConv * parameters: ILParameters * ret: ILReturn * body: ILLazyMethodBody * securityDecls: ILSecurityDecls * isEntryPoint:bool * genericParams: ILGenericParameterDefs * customAttrs: ILAttributes -> ILMethodDef
         
  -    member With: ?name: string * ?attributes: MethodAttributes * ?implAttributes: MethodImplAttributes * ?callingConv: ILCallingConv * ?parameters: ILParameters * ?ret: ILReturn * ?body: ILLazyMethodBody * ?securityDecls: ILSecurityDecls * ?isEntryPoint:bool * ?genericParams: ILGenericParameterDefs * ?customAttrs: ILAttributes -> ILMethodDef
       member Name: string
       member Attributes: MethodAttributes
       member ImplAttributes: MethodImplAttributes
  
positive.code:     member FindByName: string -> ILMethodDef list
  
  /// Field definitions.
  [<NoComparison; NoEquality>]
  type ILFieldDef = 
      new: name: string * fieldType: ILType * attributes: FieldAttributes * data: byte[] option * literalValue: ILFieldInit option * offset:  int32 option * marshal: ILNativeType option * customAttrs: ILAttributes -> ILFieldDef
      member With: ?name: string * ?fieldType: ILType * ?attributes: FieldAttributes * ?data: byte[] option * ?literalValue: ILFieldInit option * ?offset:  int32 option * ?marshal: ILNativeType option * ?customAttrs: ILAttributes -> ILFieldDef
      member Name: string
      member FieldType: ILType
      member Attributes: FieldAttributes
      member Data:  byte[] option
      member LiteralValue: ILFieldInit option  
      /// The explicit offset in bytes when explicit layout is used.
      member Offset:  int32 option 
      member Marshal: ILNativeType option 
  
negative.code: /// may include the bounds, if any, on the generic parameter.
  type ILGenericParameterDef =
      { Name: string
  
        /// At most one is the parent type, the others are interface types.
        Constraints: ILTypes 
  
        /// Variance of type parameters, only applicable to generic parameters for generic interfaces and delegates.
        Variance: ILGenericVariance 
  
        /// Indicates the type argument must be a reference type.
        HasReferenceTypeConstraint: bool     
  
        CustomAttrs: ILAttributes
  
        /// Indicates the type argument must be a value type, but not Nullable.
        HasNotNullableValueTypeConstraint: bool  
  
        /// Indicates the type argument must have a public nullary constructor.
        HasDefaultConstructorConstraint: bool }
  
  