Initial version

I think instead of `BadTYPE`, `UnsupportedMethod` would be better.