anchor.diff:      /// Combines two picklers into a pickler that pickles a tuple-2
       let tuple2 pa pb =
           sequ fst pa (fun a ->
  -            sequ snd pb  (fun b -> pure' (a, b)))
  +            sequ snd pb  (fun b -> lift (a, b)))
   
       /// Combines three picklers into a pickler that pickles a tuple-3
       let tuple3 pa pb pc =
           sequ (fun (a,_,_) -> a) pa (fun a ->
               sequ (fun (_,b,_) -> b) pb  (fun b ->
                   sequ (fun (_,_,c) -> c) pc  (fun c ->
  -                    pure' (a, b, c))))
  +                    lift (a, b, c))))
   
       /// Combines four picklers into a pickler that pickles a tuple-4
       let tuple4 pa pb pc pd =
  
positive.code:             result, {st with Position = pos + sizeof<int16>}
          }
  
      let pickleInt32 =
          {
          Pickle = fun (i32, s) -> {Raw = (PickleConvertors.convFromInt32 i32) @ s.Raw}
  
negative.code:             result, {st with Position = pos + sizeof<float>}
          }
  
      /// Pickles a general list by prefixing with the length of the list
      let list pa = sequ (List.length) pickleInt32 << repeat <| pa
  
  
  
  
  