dragonchild,
I like this idea. Basically say there are three modes
The subs work normally :default
The subs return functions :functional
Mix and match :hybrid
Of course, there would be no need to specify :default. Then a note with :hybrid concerning unintentional behavior WRT empty lists. If you want both at the same time then you need to be prepared for unexpected results.