any
includes values that aren’t comparable at runtime, and so we cannot support dynamic downcasts from it. The type system needs it, but it’s not actually useful for writing code.
comparable
is a much more useful nearly-top type that includes all runtime comparable values, so we could support dynamic downcasts from it. However, that is not yet implemented.