a fork of Object::Tiny::RW with XS compatibility