address Eli's code review comments
add fn.identity
dry out curry and curryRight