mmm not really good idea. especially that you are doing this change because of some other library that you are just porting. should it happen the other way around?
although `get_*` functions should be usually `const`, but since `SG_REF` actually changes the value of the class, it's really debatable...