lazily generate err msgs