Issue 5: Squashed commit of the following:

commit 68db7cdc0d044e50e693e8a82fcefbd686e850fb
Author: josiah14 <praenato14@gmail.com>
Date:   Fri Dec 19 18:42:22 2014 -0600

    created some new type aliases to help clean up type signatures

commit 9fe072fa8164f458cd212fccefbf2a43be1f3637
Author: josiah14 <praenato14@gmail.com>
Date:   Fri Dec 19 18:29:00 2014 -0600

    Finish creating GenericSegment