struct equality failing for cache/set