derive custom data types from Show for easier debugging"