Smaller patch, and slightly clearer client code. Why should everyone who wants to check if the target they are holding is still valid, care about target types?

The implementation need only be `return Type != TargetType.Invalid`.