anchor.diff:  
   (**
   
  -These are just a few examples of the primitive picklers defined in this library.  These picklers can be used to serialise (pickle) or deserialise (unpickle) values of the type associated with their pickler to and from their binary representations.
  +These are just a few examples of the primitive PUs defined in this library.  These PUs can be used to serialise (pickle) or deserialise (unpickle) values of the type associated with their PU to and from their binary representations.
   
  -The same picklers can be used to transform data in both directions.
  +The beauty of pickler combinators is that the same PU can be used to transform data in both directions.
   
  -## Running picklers
  +## Running PUs
   *)
   
   let bytes = BinaryPickler.pickle (BinaryPickler.intPU) 64 // convert the int value 64 into a byte array
  
positive.code: 
  Their purpose is to present a serialisation/deserialiation mechanism that grants the developer explicit control over their serialisation format while avoiding the requirement to write lots of tedious, error prone code.
  
  Pickler primitives are used to handle simple data types and more complicated picklers can be constructed by combining these picklers using combinator functions.
  
  ## Pickler primitives
  *)
  
  let intPickler = BinaryPickler.intPU
  
negative.code: /// A product with an associated price
  type Product = {ProductName : string; ProductPrice : decimal<GBP>}
  
  /// A pickler/unpickler pair (PU) for products
  let productPU =
      let nameDecPU = BinaryPickler.tuple2 BinaryPickler.utf8PU BinaryPickler.decimalPU
      let toProd (name,price) = {ProductName = name; ProductPrice = price*1.0M<GBP>} // tuple to product
      let fromProd prod = prod.ProductName, decimal prod.ProductPrice // product to tuple
      BinaryPickler.wrap (toProd, fromProd) nameDecPU
  
  (**
  
  Here, the custom record type contains a string and a decimal with a unit of measure so we define a tuple PU which will pickle/unpickle the underlying data and provide functions that construct and deconstruct data from that form.
  
  Data can then easily be read into or written from our custom data type.
  
  ## List and Array combinators
  
  The list and array combinators take a PU of type 'a and produce a pickler that pickles the corresponding collection type.
  
  *)
  
  let intArrayPU = BinaryPickler.array BinaryPickler.intPU
  
  let floatListPU = BinaryPickler.list BinaryPickler.intPU
  
  (**
  
  It is, of course, possible to combine several of these combinators to produce complicated list PUs, e.g.:
  
  *)
  
  