sig
  val channel : BatIO.input -> int -> Digest.t
  val output : 'BatIO.output -> Digest.t -> unit
  val input : BatIO.input -> Digest.t
end