I'm trying to cast a `Map<Object, SObject>` to `Map<String, Account>`, which fails with the error > Incompatible types since an instance of `Map<Object,SObject>` is never an instance of `Map<String,Account>` That's because Apex likely gets transpiled to Java where Map is a compile-time abstraction. Unlike Java, we can't force the issue by writing something like Map<Object, SObject> foo = ... // some initialization Map<String, Account> bar = (Map) foo; because raw `Map` doesn't exist in Apex. Can this be worked around somehow? The end goal is to have a `Map<Object, SObject>` return type which would allow a method to return maps of various types of `SObject`s.