def compare_version(old_map: dict, new_map: dict) -> list:
    """
    Compare two dictionaries where the key is a method name and the value
    is the class containing the method.

    Either of old_map or new_map may be None, which case a message is
    printed and no further processing is done. If both dict args are present,
    then any differences between old_map and new_map are reported, even if one
    of them is an empty dict. This means both changes in the class that implements
    a method as well as any new/missing methods are noted.

    :param old_map: dict, possibly None; a previously captured mapping of
        method names to the class that contains the method
    :param new_map: dict, possibly None; a new mapping of method names
        to the class that contains the method
    :return: a list of strings of differences
    """
    diffs = []
    if old_map is None:
        diffs.append(['MISSING', "", '-no old map-', ""])
        # diffs.append(f"MISSING:no old map provided-- no further comparisons "
        #              f"for this version")
    if new_map is None:
        diffs.append(['MISSING', "", "", '-no new map-'])
        # diffs.append(f"MISSING:no new map provided-- no further comparisons "
        #              f"for this version")
    if diffs:
        return diffs

    # first, compare the old to the new map for changes or deletions
    for k, v in old_map.items():
        if k not in new_map:
            diffs.append(['DELETED', k, v, '--'])
            # diffs.append(f"DEL;method {k} on {v} doesn't exist in the "
            #              f"old release")
        elif v != new_map[k]:
            diffs.append(['MOVED', k, v, new_map[k]])
            # diffs.append(f"MOVED;method {k} moved from {v} to {new_map[k]} "
            #              f"in the new release")
        # else nothing; these are the same

    # now, compare the new map to the old for additions
    for k, v in new_map.items():
        if k not in old_map:
            diffs.append(['ADDED', k, '--', v])
            # diffs.append(f"ADD;method {k} on {v} was added in the "
            #              f"new release")

    return diffs