NonEmpty is a type that allows you to distinguish between:
a = [undefined]; res = a.pop() // undefined a = []; res = a.pop() // undefined
As a Python person, that 2nd one looks like a bug. Expecting an exception there. Although also Python doesn't have an `undefined`; `None` would have to suffice.
As a Python person, that 2nd one looks like a bug. Expecting an exception there. Although also Python doesn't have an `undefined`; `None` would have to suffice.