Currently, an unfold of undef e.g. foo(*undef) results in the function foo being called with undef as an argument. This because the current rules is "unfold of something that is not an array turns it into an array of one element before unfolding".
It is more natural to equate an unfold of undef with an unfold of an empty array.
Special care has to be taken when unfold is used with case and selector options since it will result in a "missing option" - this should probably be treated as an error rather than silently skipping (the same should happen when unfolding an empty array as options).
This change requires a spec update.