If the optional initial is available, it will be used at the beginning of the process, or as a final result in case the array is empty.
Si l 'argument optionnel intial est disponible, il sera utilisé pour initialiser le processus, ou bien comme valeur finale si le tableau est vide.