FEAT: preliminary support for binary!

This is preliminary support for binary! datatype. Note that `TO` related actions are not included, so it's really just preliminary - once you include this, I can PR the rest (including not just `TO binary!` related actions).