compose and currying