I tend to favour explicit numbers of arguments in functions: I rarely find auto-currying a useful default. Explicit arity gives good errors! I've realised that auto-currying allows you to handle generic functions though. `a -> b` can be any function!