minor style thing, but these should all be `val x: Type = yy` rather than `val x : Type = y` same below in `def this`.