manually curry all binary fns