much more complete/debuggable __repr__ output