https://haskellforall.com/2024/05/prefer-do-notation-over-applicative