Replace multiple terms (such as days of the week) with an intelligent, possibly customized summary

First question: Can you make a drupal 8 field formatter that applies to both text list and taxonomy fields?

It appears technically yes, because a field formatter accepts multiple field_types:

/**
 * Plugin implementation of the 'Random_default' formatter.
 *
 * @FieldFormatter(
 *   id = "Random_default",
 *   label = @Translation("Random text"),
 *   field_types = {
 *     "Random"
 *   }
 * )
 */
class RandomDefaultFormatter extends FormatterBase {

we also want to do this with a multi-value date field, which is even more ambitious.

Ideally, as much of the powering code could live in PHP libraries outside of Drupal, for wider use. But on the other hand it’l be hard to pull customization out of Drupal’s UI, and also Drupal at least has a defined way of doing multiple languages, which we’ll want to do.