Hmm, adding an `Enveloped` constraint back is super annoying.  This was the original reason I split out a separate `Juxtaposable` class, because some things (*e.g.* animations) are `Juxtaposable` but not `Enveloped`.  I think I now remember running into this the last time I thought about #37.  Am I correct that all you need is to be able to tell whether the things being concatenated are empty or not?  That is a much weaker requirement than having an envelope.  Maybe we should make a separate class for that (and add it as a superclass of `Juxtaposable`, probably).