palavras-chave Circular programming Deforestation Monadic programming Program calculation Shortcut fusion