Double Dispatch

You no longer have to worry about type checking.