@classmethod
def newfield(cls, recordcls, pos, **fields):
    """
        Creates a field with the given name and length, then binds it
        with the given containing record or composite field.
        """
    if len(fields) > 1:
        raise Exception('Multiple k/w values not supported')
    items = list(fields.items())
    name = items[0][0]
    flen = items[0][1]
    instance = cls(pos, name, flen)
    recordcls.bind(instance)
