https://chuckconway.com/posts/examining-the-case-for-switch-statements/