Convertir de notación de flecha
Todavía estoy tratando de entender los paralelismos entre la notación de flecha y la semántica de las clases de tipo Flecha definidas en Haskell. En particular,esta pregunta parece tener un ejemplo muy canónico de un pequeño contador escrito con notación de flecha:
counter :: ArrowCircuit a => a Bool Int
counter = proc reset -> do
rec output <- returnA -< if reset then 0 else next
next <- delay 0 -< output+1
returnA -< output
¿Alguien puede mostrarme cómo convertir esto de nuevo en Haskell2010 sin notación de flecha?