+ // Profiling indicates that most calls to growSlice() and memMove()
+ // originate in this function. Allocating a sufficiently large slice
+ // upfront results in 2x speed improvement and 1/3 reduction in heap usage.
+ numberOfPermutations := ((universe.cardinality()+1) * (universe.cardinality()+1)) - 1
+ numbers := make([]surrealNumber, 0, numberOfPermutations)