Well Behaved Type

More work to do fixing up how we are going to define our classes. Then
once we do we can progress again. Yes, I know this is crazy and "low
level". Whatever, it's interesting.