...
- defineProperty – I based uAddProperty on code examples from this MDN page
- TypeError – this will be thrown if an existing non-configurable sKey property exists on the object
- Function.uCurry – define parameter values for () – create a new function that's based on an existing function but with some parameters pre-defined