Complete rewrite, mostly simplification. Also needed to get rid of some attempts at generic solutions that ended up not working.
Added static constructors to fixed range value objects and implemented them.