I also realize Phrases
is more akin to your suggestion of PadList
(from the excellent Constructing Applicative Functors paper): Using a “singleton” for pure
rather than a repeated list like ZipList
, and then padding the shorter list to match the longer one.