anchor.diff:  //member _: Field<'r, 'x, 'p>
   
   /// Representation of a field of type `'f` of the record type `'r`.
  -type [<AbstractClass>] Field<'r, 'f, 'p> =
  -  inherit Elem<'r, 'f, 'p>
  +type [<AbstractClass>] Field<'r, 'f> =
  +  inherit Elem<'r, 'f>
   
     new (index, name, isMutable) =
  -    {inherit Elem<'r, 'f, 'p> (index); Name = name; IsMutable = isMutable}
  +    {inherit Elem<'r, 'f> (index); Name = name; IsMutable = isMutable}
   
     /// The name of the field.
     val Name: string
   
     /// Whether the field is mutable.
  -  val IsMutable: bool 
  +  val IsMutable: bool
   
     /// Sets the value of the field assuming this is a mutable field.
     abstract Set: 'r * 'f -> unit
     default f.Set (_: 'r, _: 'f) = notImplemented ()
   
  +type [<AbstractClass>] Field<'r, 'f, 'p> (index, name, isMutable) =
  +  inherit Field<'r, 'f> (index, name, isMutable)
  
positive.code: //member _: Elem<'t, 'e, 'p>
  //...
  
  type [<AbstractClass>] Elem<'t, 'e, 'p> =
    new (index) = {Index = index}
  
    /// The index of the element.
  
negative.code: /// Representation of a discriminated union type `'u` as nested choices of
  /// type `'c`.
  type [<AbstractClass>] AsChoice<'u, 'c> () = class
    /// 
  //  abstract ToChoice: 'u -> 'c
  
    ///
  //  abstract OfChoice: 'c -> 't
    end
  
  /////////////////////////////////////////////////////////////////////////
  