Avaliação funcional do functor não está clara para mim

Atualmente, estou lendo Learn You a Haskell for Great Good! e estou tropeçando na explicação para a avaliação de um determinado bloco de código. Eu li as explicações várias vezes e estou começando a duvidar que até o autor entenda o que esse código está fazendo.

ghci> (+) <
ghci> (+) <$> (+3) <*> (*100) $ 5
508
gt; (+3) <*> (*100) $ 5 508

Um functor aplicativo aplica uma função em algum contexto a um valor em algum contexto para obter algum resultado em algum contexto. Passei algumas horas estudando esse bloco de código e fiz algumas explicações sobre como essa expressão é avaliada, e nenhuma delas é satisfatória. Entendo que (5 + 3) + (5 * 100) é 508, mas o problema está em chegar a essa expressão. Alguém tem uma explicação clara para este pedaço de código?

questionAnswers(4)

yourAnswerToTheQuestion