versión perezosa de mapM

Supongamos que estoy obteniendo una gran lista de artículos mientras trabajo con IO:

as <- getLargeList

Ahora, estoy tratando de aplicarfn :: a -> IO b sobreas:

as <- getLargeList
bs <- mapM fn as

mapM tiene tipomapM :: Monad m => (a -> m b) -> [a] -> m [b], y eso es lo que necesito en términos de coincidencia de tipos. Pero construye toda la cadena en la memoria hasta devolver el resultado. Estoy buscando análogo demapM, que funcionará perezosamente, para que pueda usar jefe debs mientras la cola sigue construyendo.

Respuestas a la pregunta(2)

Su respuesta a la pregunta