*: use TeeReader to reduce I/O in CAS

h/t @tt - I wasn't thinking clearly about it earlier, this is much simpler