encode w (x:xs) = rotateR (encode w xs .|. fromIntegral x) (width w)
encode w (x:xs) = rotateR (encode w xs .|. fromIntegral x) (width w)
encode w (x:xs) = rotateR (encode w xs .|. fromIntegral x) (width w)