working towards adding a few more generic IO adapters to Sirea; renamed UnsafeOnUpdate to just UnsafeIO