def remove_at_id(doc: CWLObjectType) -> None:
    for key in list(doc.keys()):
        if (key == '@id'):
            del doc[key]
        else:
            value = doc[key]
            if isinstance(value, MutableMapping):
                remove_at_id(value)
            elif isinstance(value, MutableSequence):
                for entry in value:
                    if isinstance(entry, MutableMapping):
                        remove_at_id(entry)
def remove_at_id(doc: CWLObjectType) -> None:
    for key in list(doc.keys()):
        if (key == '@id'):
            del doc[key]
        else:
            value = doc[key]
            if isinstance(value, MutableMapping):
                remove_at_id(value)
            elif isinstance(value, MutableSequence):
                for entry in value:
                    if isinstance(entry, MutableMapping):
                        remove_at_id(entry)