Argument type validation with user-friendly error messages

What about the `Parser.DEFAULT_TARGETS`? What's the reason it's still a constant?