add currying impl/documentation