You use defmethod for overloading. Types check themselves.
So add static types.
https://github.com/coalton-lang/coalton