Support type annotations.

Closes #138. 
Can't this be just `return obj == this` ? Ie. is this instance-controlled?