Revamped types.

Signed-off-by: Atheriel <atheriel@gmail.com>
Part two of type revamp.

Signed-off-by: Atheriel <atheriel@gmail.com>
Clean-up.

Signed-off-by: Atheriel <atheriel@gmail.com>
Merge pull request #1 from atheriel/typechanges

Complete overhaul of types.