https://mytecharm.com.co/post/safer-casting-in-c-with-zero-runtime-cost-m8f4v0