and `static_cast<>` is better, but we can change it later