Hola,
El problema de tu solución es que es una definición recursiva. Fijate que en la definición estás llamando recursivamente a (fs $> arg).
Lo que queremos decir con "sin usar recursión" es que no den una definición por "recursión explícita", sino que la den en términos de alguna operación de listas (la cual ella si puede ser recursiva) del estilo de map, filter, foldr, take, drop, etc. En este caso lo sencillo era usar map: fs $> x = map ($ x) fs.
Saludos,
Alberto.
El problema de tu solución es que es una definición recursiva. Fijate que en la definición estás llamando recursivamente a (fs $> arg).
Lo que queremos decir con "sin usar recursión" es que no den una definición por "recursión explícita", sino que la den en términos de alguna operación de listas (la cual ella si puede ser recursiva) del estilo de map, filter, foldr, take, drop, etc. En este caso lo sencillo era usar map: fs $> x = map ($ x) fs.
Saludos,
Alberto.