use macro curry