Applicative High Order Programming