Équivalence de tuple singleton

Pour éviter toute ambiguïté entre les tuples et les parenthèses regroupant les sous-expressions, un tuple avec un seul élément est considéré comme équivalent à l’élément contenu, y compris son type. Par exemple, les types Int, (Int) et ((Int)) sont traités comme étant identiques. Il en va de même pour les valeurs 5, (5) et (((5))), ou pour (5, (6)) et (5, 6). Cette équivalence s’applique à tous les usages, y compris l’affectation. Étant donné qu’il n’existe pas de distribution ou de réflexion dynamique dans Q# et que tous les types dans Q# peuvent être résolus au moment de la compilation, l’équivalence de tuple singleton peut être facilement implémentée lors de la compilation.