add applicative function <*> and test case showing use