Nats and a basic length-tracking NatList.

I don't intend to go too crazy with this sort of thing,
especially seeing the O(n!) scalac behavior which emerges
with repeated type projections.

Have to investigate what the state of the art is for ensuring
things don't compile.