Messing with type system vol 2. We're getting there...