Couldn't `Table` take an implicit Shape, that proves that `CProjection` can be mapped to `CRow` instead of using `def *` for that? Or even better, use such a shape to infer `CRow` from `CProjection` so you don't need to spell out `Table's` type parameter manually anymore and you can get rid of `def *` as well?