unsafe as
Previously we only allowed conversions from `void*` to `U*` this way, requiring casting via `void*` to get from `T*` to `U*`. That seems like an unnecessary circumlocution.