Provides safe trait object downcasting with support for type parameters, associated types, and type constraints.