Formatting and other minor tweaks (removing unnecessary aliases).
More minor tweaks; added type annotations to all functions to use 'T as the element type instead of 'a.
Added a few simple tests.
Added some documentation comments.
Reordered some of the functions within the module so similar functions are grouped together.
Added unit test project.