stream destructors do not throw exceptions now