anchor.diff:      p_lazy_impl p x.Value st
   
   let p_hole () = 
  -    let h = ref (None : 'T pickler option)
  +    let h = ref (None : ('T -> WriterState -> unit) option)
       (fun f -> h := Some f),(fun x st -> match !h with Some f -> f x st | None -> pfailwith st "p_hole: unfilled hole")
  +
  +let p_hole2 () = 
  +    let h = ref (None : ('Arg -> 'T -> WriterState -> unit) option)
  +    (fun f -> h := Some f),(fun arg x st -> match !h with Some f -> f arg x st | None -> pfailwith st "p_hole2: unfilled hole")
   
   let u_array_core f n st =
       let res = Array.zeroCreate n
  
positive.code:         match key.TypeForLinkage with 
          | None -> false
          | Some ty -> checkForInRefStructThisArg st ty
      st.isStructThisArgPos <- isStructThisArgPos
      p_option p_ty key.TypeForLinkage st
      st.isStructThisArgPos <- false
  
  let rec p_vref ctxt x st = 
      match x with 
  
negative.code:     onlerefs: Table<int * int[]> 
      osimpletys: Table<int>
      oglobals : TcGlobals
      ofile : string
      /// Indicates if we are using in-memory format, where we store XML docs as well
      oInMem : bool
  