Check that the given message is valid
A function that returns a message given a key
The message to check
Optional
Used internally, for recursion
The validity and the path through the list.
Check that the given message is valid