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 hasthis = byteAsHasThis ccByte
      let ccMaxked = (ccByte &&& 0x0Fuy)
      if ccMaxked <> e_IMAGE_CEE_CS_CALLCONV_PROPERTY then dprintn ("warning: property sig was "+string ccMaxked+" instead of CC_PROPERTY")
      let numparams, sigptr = sigptrGetZInt32 bytes sigptr
      let retty, sigptr = sigptrGetTy ctxt numtypars bytes sigptr
      let argtys, _sigptr = sigptrFold (sigptrGetTy ctxt numtypars) ( numparams) bytes sigptr
      hasthis, retty, argtys
  
negative.code:         let tdorIdx, sigptr = sigptrGetTypeDefOrRefOrSpecIdx bytes sigptr
          seekReadTypeDefOrRef ctxt numtypars AsValue List.empty tdorIdx, sigptr
      elif b0 = et_VAR then 
          let struct (n, sigptr) = sigptrGetZInt32 bytes sigptr
          ILType.TypeVar (uint16 n), sigptr
      elif b0 = et_MVAR then 
          let struct (n, sigptr) = sigptrGetZInt32 bytes sigptr
          ILType.TypeVar (uint16 (n + numtypars)), sigptr
      elif b0 = et_BYREF then 
          let ty, sigptr = sigptrGetTy ctxt numtypars bytes sigptr
  