correctly handle overloading

comparing references with '==' to check if they're the same fails if
they're blessed and overload numification or numeric comparison;
Scalar::Util::refaddr works

stringifying a blessed reference to get the underlying reference type
fails if it overloads stringification; Scalar::Util::reftype works