La méthode collection.reduce( ) applique la méthode de rétro-appel nomMéthode à un accumulateur et à chaque élément de la collection (de gauche à droite) afin de la réduire à une seule valeur.
Note : Cette méthode ne modifie pas la collection d'origine. 
Dans nomMéthode, passez le nom de la méthode à utiliser pour évaluer les éléments de la collection, ainsi que son ou ses paramètre(s) dans param (optionnel). nomMéthode traite successivement chaque élément de la collection et accumule le résultat dans $1.accumulator, qui est retourné dans $1.value.
Vous pouvez passer la valeur d'initialisation de l'accumulateur dans valeurInit. Si elle est omise, $1.accumulator débute avec la valeur Indéfini.
 nomMéthode reçoit les paramètres suivants : 
- dans $1.value : valeur de l'élément à évaluer
- dans $2 : param
- dans $N... : param2...paramN
nomMéthode doit fixer le(s) paramètre(s) suivant(s) :
- $1.accumulator : valeur à modifier par la méthode et qui est initialisée par valeurInit. 
- $1.stop (booléen, optionnel) : true pour stopper le rétroappel de méthode. La valeur retournée est la dernière calculée.
La méthode Multiply est la suivante :
Cet exemple réduit une collection de collections en une seule :
La méthode Flatten est la suivante :
 If($1.accumulator=Null)
    $1.accumulator:=New collection
 End if
 $1.accumulator.combine($1.value)