code: def _parseDefinition(typeDef, name, len=1, reader=None, writer=None):
          
          if isinstance(typeDef, Structure):
              return (name, typeDef.fmt, typeDef)
  
          if len != 1:
              size = struct.calcsize(typeDef)
              if typeDef not in "xspP":
                  typeDef = 's'
              typeDef = str(len * size) + typeDef
  
          fmtChar = typeDef[-1:]
  
          if fmtChar == 'x':
              typeObj = Structure.skipType
          else:
              typeObj = _TypeWriter(Structure.defaults[fmtChar], reader, writer)
  
          return (name, typeDef, typeObj)
docs: Return (name, format, type) for field.
  
          type.popValue() and type.yieldArgs() must be implemented.