It's not a drop-in replacement for read(). It's rather like Ruby's read() and not read_partial(). Rename at least the last argument to make it clear.
Although "introduction to algorithms" suggests that compression should happen at load factor 0.25, we keep doing it at 0.5. The thing is, space is more important than CPU time in this context.