valueMap and Multivalues

I was going to use the recipe from @KelvinL 's book to return lists only when the property has multiple values:

l, err := g.G.V(id).HasLabel("geoname").
        ValueMap().With(gremlingo.WithOptions.Tokens).
        Map(__.Unfold()).
        Group().By(Keys).
        By(__.Choose(__.Select(Values).Count(Local).Is(1),
            __.Select(Values).Unfold(),
            __.Select(Values))).
        Unfold().
        ToList()


However, what I want is for the properites in Neptune that have been specified as multi-valued to always be lists even if they only currently have one value. This is because I want to populate my go structures from the return properties.

I don't immediately see any way to do that. It's fine, I can code around it and just return all properties as lists, but I wondered if there was a way to specify that behavior? We have the two extremes of all lists with ValueMap and all single (even if Multivalued) with ElementMap(), and nothing in between.

BUt maybe I am overlooking some WithOption?
Was this page helpful?