Use some compile-time type checking
Merge pull request #1 from Mathnerd314/master

Use some compile-time type checking