add notes on applicative functors