first pass at protocolizing Bitwise ops ala Haskell Data.Bits