strongly type attributes

**please review**
Yes but they're not my classes. I am implementing a version of toString specific to printing attributes, that's all.