my ($class,$type,$addr) = (overload::StrVal($r) =~ /^(?:(.*)\=)?([^=]*)\(([^\(]*)\)$/);