pylint #36587 Errors reported when "some types could not be inferred" [rejected]

If you have a method that can return different types, pylint gives an error if only some of them don't match.
For example

def get_new_value(value):
    if isinstance(value, dict):
        return {}
    elif isinstance(value, list):
        return some_value_that_returns_a_list()
        return value

def get_my_value(listval):
    value = get_new_value(listval)

This produces an error with a disclaimer

E1103: 15:get_my_value: Instance of 'dict' has no 'reverse' member (but some types could not be inferred)

but this is really not very helpful. Surely if it can't fully infer the types it shouldn't be flagging errors? Feels like the only thing to do is disable this one.
done in<not specified>
load left0.000
closed by<not specified>