Check more-specific fallback types first

Also adds a 'Value' type handler, since that too would merely be the identity function.

If you wanted to add a dep on List::MoreUtils, then you could use `uniq` instead of my long-hand.