Stubs can return types that don't have compare_equals or a stringifier

- ReturnValue is no longer a ValueArgument subclass, which brought along unwanted behaviors

[#39969975, #65424036]