should curry variable argument functions