conduitという抽象を使ってコードを書いていて、その抽象だと前段で処理した内容を後段に渡していくわけだ。ここでは、その「前段」の部分がバイト列を続く処理にわたすのだけど、その前段の部分に「ビット単位」で値を渡す機能をつけるのも、「あり」と言えば「あり」だ。8の倍数でないビット数の情報を渡せるようにする、か。
でも、そのやりかただと2つ問題が出てくる。
1. 後段に渡すデータが単純なバイト列ではなくなる
2. もし1ビットずつ渡す形だと、毎回「バイトかビットか」「何個わたすか」をチェックするのが非効率
で2に関しては、ある程度大きいビット列を後段に渡して、それがそのビット列から1ビットずつ取り出して、次の処理に渡すというやりかたで問題ない。
後段に渡すデータが単純なバイト列ではなくなってしまう問題についてはどうしようかな。