function binding that supports prepending arguments