Both lazy and strict, because sometimes it's more efficient to build a small strict bytestring, and other times better to lazily stream.
Speeds up hashSymlink and hashPointerFile.