reference_cast