anchor.diff:      serializable type and settable. Parameterless constructors or public properties are not required.
   
     * carries the [`CustomPickler`](reference/nessos-fspickler-custompicklerattribute.html) attribute and an accompanying pickler factory method.
  +
  +  * is an F# union type in which all union case fields are serializable.
  +
  +  * is abstract or a delegate.
   
     * is neither of the above and all designated fields are of serializable type.
       Parameterless constructors or public fields are not required.
  
positive.code: 
  ### Subtyping
  
  FsPickler discriminates between reference types that are sealed and types that are not sealed. 
  A value of non-sealed type can either be instance of this type or of a proper subtype. 
  In the context of open hierarchies, it is clear that a type-fixed pickler implementation simply 
  cannot cater to arbitrary subtype instances.
  
  For this reason, picklers can only be used to serialize values whose actual type is identical
  to the pickler implementation. When coming across an object of non-sealed type, FsPickler
  will examine its reflected type; if found to differ, a new pickler will be generated
  generated dynamically for that particular subtype.
  
  The above implies that `obj` is serializable in FsPickler, but `Pickler<obj>`
  can only be used with `obj()` instances. Similarly, picklers for interfaces
  or abstract classes are possible, but they are incapable of serializing anything.
  This is how serialization of F# closures is made possible:
  for every internal closure type generated by the F# compiler, 
  a special pickler is generated for handling it.
  
negative.code:     and a new pickler is constructed from that information. FsPickler can emit dynamic methods
      to ensure that no reflection or boxing penalty is incurred during actual serialization.
      Pickler generators can be further separated into the following kinds:
          - Field-based pickler generation.
          - DataContract pickler generation.
          - ISerializable pickler generation.
          - F# union/record/exception pickler generation.
  