add much more detailed exceptions and tostring methods for easier debugging of hard to debug issues like guardexceptions