Shouldn't you do a type check here before calling the `CloseRead` method or else what is the point of the interface if everything is a closeReader?