Best practices for type dispatch?

Duplicate. Here’s my answer.