Support type annotations.

Closes #138. 
It isn't instance controlled. Why not?