anchor.diff:          | Shape.ISerializable s ->
               s.Accept {
                   new ISerializableVisitor<Pickler> with
  -                    member __.Visit<'T when 'T :> ISerializable> () =
  +                    member __.Visit<'T when 'T :> ISerializable> (ss:ShapeISerializable<'T>): Pickler =
                           match tryGetISerializableCtor typeof<'T> with
                           | Some _ -> ISerializablePickler.Create<'T>() :> _
                           | None -> ISerializablePickler.CreateObjectReferencePickler<'T>() :> _
  
positive.code:         | Shape.Array s ->
              s.Accept {
                  new IArrayVisitor<Pickler> with
                      member __.Visit<'T> () = ArrayPickler.Create<'T>(resolver) :> _
              }
  
          | Shape.Array2D s ->
              s.Accept {
                  new IArray2DVisitor<Pickler> with
                      member __.Visit<'T> () = ArrayPickler.Create2D<'T>(resolver) :> _
              }
  
          | Shape.Array3D s ->
              s.Accept {
                  new IArray3DVisitor<Pickler> with
                      member __.Visit<'T> () = ArrayPickler.Create3D<'T>(resolver) :> _
              }
  
          | Shape.Array4D s ->
              s.Accept {
                  new IArray4DVisitor<Pickler> with
                      member __.Visit<'T> () = ArrayPickler.Create4D<'T>(resolver) :> _
              }
  
          | Shape.Tuple1 s ->
  
negative.code: open System.Runtime.Serialization
  
  open TypeShape
  
  open MBrace.FsPickler
  open MBrace.FsPickler.Reflection
  