So my `Set[T]` example wasn't clear enough. I wanted to have a mathematical set of unsigned bytes (like `{3,4,5}`, which becomes `{1,3,4,5}` after adding `1`). This can be implemented with `array[4, int]`. I can't see how this could match for `Seq[byte]` with your trick, because `array[4, int]` contains no bytes.
The `VectorSpace[float]` has generators, dimension, subspace, all the nice math properties (it can be `float`, `array[3, float]`, `array[N, float]`, etc). I don't know Zahary, but he must be a smart guy :P Let's sleep a couple of days on this, then if everybody is on the same page, then I'll try to put together a PR. > Peter