Created attachment 552098 [details] [diff] [review]
The essential thing is to reject values >= 4096 with an exception; the rest is just me trying to get Version use the API correctly.
Incidentally that test where I added a Number() call was never doing what it thought it was doing, because version() would just ignore the string arguments.
*** Bug 652806 has been marked as a duplicate of this bug. ***