What happens if `IOError` gets bubbled up? Are we catching it somewhere?