Wouldn't it be better having this the other way around? Cycling through $relations, and throwing an exception if it can't find the corresponding relationship.

Otherwise a misspelled relation will make the use of `with` irrelevant