*: use TeeReader to reduce I/O in CAS

Yes but `hdr.W` is a `ReadWriter not a `Writer`. It's a bit of a grey area because there are a few different ways to approach this. I've updated to just pass in the `hdr` anyway.