Improved type signatures. Next up, simplify the type aliases.
Removed needless type aliases.
Merge pull request #2 from janm399/master

Removed type aliases and specified proper return types