Gera uma lista de valores a partir de quatro funções que geram o valor inicial {0}, realizam o teste com base em uma condição ...

Gera uma lista de valores a partir de quatro funções que geram o valor inicial {0}, realizam o teste com base em uma condição {1} e, se o teste for bem-sucedido, selecionam o resultado e geram o próximo valor next {2}.
    Um parâmetro opcional, {3}, também pode ser especificado.