Why optional? Are there cases where file is undefined, or where we do not pass a file argument?