Should `fi` be closed before returning?