uilt_in"
        ensure
            deep_twin_not_void: Result /= Void
            deep_equal: deep_equal (Current, Result)
        end

    frozen deep_clone (other: detachable ANY): like other
            -- Void if `other' is void: otherwise, new object structure
            -- recursively duplicated from the one attached to `other'
        obsolete
            "Use `deep_twin' instead."
        do
            if other /= Void then
                Result := other.deep_twin
            end
