partial application with bind
implement map with reduce