move write_all out of Si namespace