Tricky. We should definitely think about having `size()` throw when the file exists, but `size()` can **never** work after `close()`.