This is a hidden, implicit, heap-allocating conversion. I think it's best to leave `match` to accept whatever type the user specifies, and let the rest fail with a compilation error.