Separate Uri and Url modules.  Remove lots of silly parsing code.
Add and Either type.