Proposed "either" variant
Created originally on Bitbucket by Anonymous
From a narrative point of view, it would be nice to have a variant form of "either" (perhaps"either*"?) that would act like "either" but (after the first call in a game) would always return an array element other than the last one returned.
Justification: humans tend to judge clusters to exist in random processes more than they do. A string of random selections from a small set tends to feel "stuck."
Limitations: this would cause errors with a singleton argument (unless handled as a special case) and strict alternation with a two-element string (as this is actually what it's meant to do and will not hang the game, a warning in the manual should suffice.)
Alternatives: an "either*" that accepts, as well as an array of possible outputs, a numerical parameter in [0,1] representing probability that a repeating value will be accepted. So if P=0 repeated calls will generate a string without repetition; P=1 is the current "either"; and intermediate values may feel more "truthy" to players.
Other variants could include an "either**" that would avoid the last two outcomes, etc.
This can, of course, be coded using existing Harlowe commands, but as there's no good way of circulating libraries among users this only helps those of us who can code. A built-in solution would be generally useful.