Add Applicative instances for ST monads (proposal #4455)