Applicative interface, first version