anchor.diff:              :?> IShapeCollection
               |> Some
   
  +    /// Recognizes shapes that implement System.Collections.Generic.IEnumerable<_>
       let (|Enumerable|_|) (s : TypeShape) =
           match s.Type.GetInterface("IEnumerable`1") with
           | null ->
  
positive.code:         member s.IsPublic = isPublicMember
          member s.Accept v = v.Visit readOnly
  
      interface IShapeWriteMember<'Record> with
          member s.Accept (v : IWriteMemberVisitor<'Record, 'R>) = v.Visit s
  
  and IWriteMemberVisitor<'TRecord, 'R> =
      abstract Visit<'Field> : ShapeWriteMember<'TRecord, 'Field> -> 'R
  
negative.code:             |> Some
          | _ -> None
  
      /// Recognizes any type that satisfies the F# `equality` constraint
      let (|Equality|_|) (s : TypeShape) =
          // Since equality & comparison constraints are not contained
          // in reflection metadata, we need to separately determine 
  