anchor.diff:      let sigptr = 0
       let ccByte, sigptr = sigptrGetByte bytes sigptr
       let generic, cc = byteAsCallConv ccByte
  -    let genarity, sigptr = if generic then sigptrGetZInt32 bytes sigptr else 0x0, sigptr
  -    let numparams, sigptr = sigptrGetZInt32 bytes sigptr
  +    let struct (genarity, sigptr) = if generic then sigptrGetZInt32 bytes sigptr else 0x0, sigptr
  +    let struct (numparams, sigptr) = sigptrGetZInt32 bytes sigptr
       let retty, sigptr = sigptrGetTy ctxt numtypars bytes sigptr
       let (argtys, varargs), _sigptr = sigptrGetArgTys ctxt numparams numtypars bytes sigptr []
       generic, genarity, cc, retty, argtys, varargs
  
positive.code:         let ccByte, sigptr = sigptrGetByte bytes sigptr
          let generic, cc = byteAsCallConv ccByte
          if generic then failwith "fptr sig may not be generic"
          let numparams, sigptr = sigptrGetZInt32 bytes sigptr
          let retty, sigptr = sigptrGetTy ctxt numtypars bytes sigptr
          let argtys, sigptr = sigptrFold (sigptrGetTy ctxt numtypars) ( numparams) bytes sigptr
          let typ = 
  
negative.code:                      yield seekReadMethod ctxt mdv numtypars i |])
  
  and sigptrGetTypeDefOrRefOrSpecIdx bytes sigptr = 
      let struct (n, sigptr) = sigptrGetZInt32 bytes sigptr
      if (n &&& 0x01) = 0x0 then (* Type Def *)
          TaggedIndex(tdor_TypeDef, (n >>>& 2)), sigptr
      else (* Type Ref *)
  