I wonder if it's ok to take a ref only if someone writes file(...).read() ...