This is something that has already been discussed. The reason that a g:Set is deserialized to a list is because Java can return some numerical values that are not differentiate by python. See
TINKERPOP-1844 for more details.
However, I think this is is not something very common so I would like to propose another behavior:
1. By default, always return a python set as normal for g:Set
2. When we detect the case described, log a warning and return a python list.
3. Document properly the limitation and the behavior of g:Set.
Already discussed with Stephen and we think it's an acceptable behavior. I will provide a PR shortly.