As @ljharb was fixing #431 with #438 , we've discovered a bit of a black hole that is demand.
The suggested solution at this point is to work off demand being separated in to two different functions: demandOption and demandCommand, clear detailed in this comment.
I am currently working on separating the two. To avoid breaking too many things, I am hoping to keep both require and demand as a alias for demandOption until we decide to completely get rid of demand.
Let's use this thread to track any discussion we might have about demand and the proposed separation.