apply to take naked arguments
add apply bench
doc apply