Reimplementing Proc#curry