Add UVector

Fixes #51.

A minor issue is that `UVector` can’t be made an instance of `Foldable`, so `sum`, `product` and the rest refuse to work on it.