Refactored the Combinable/Validatable stuff, because realized I didn't
support mapping from the original G type to a different type H in validatedBy.
Because of CanBuildFrom, couldn't support "traverse" except via implicit conversions.
So as to not give an unnecessary choice, because that was the clearest, prettiest syntax,
and because it was forced upon me, I went the implicit conversion route, and put them
in Validations.