Improve error reporting.

This cost me far too much time to figure out...
Hide inline private data type and use typedef for Defines more.

This is a SIC change, but I really don't care as its nowhere else
used besides the IDAIM which is also where I'll move the ConfigEntry.