As far as I can tell, semantics read a bit better, and the current implementation avoids allocating a buffer containing all the content of the `src`, which we really don't care about.