A curry function that will `require()` the target function if passed a string instead of a function, works with both explicit or implicit arities, preserves the function's orignal name and allows binding the curried function to a custom `this`-object.
HKUST CSE PhD admission helper - visa form, checklist, calendar reminders