I meant specifically that “unions” default to open. Let me give you an example. A Bluesky post may contain different types of attachments. Image, gallery, video, etc. That’s a union of known schemas. However, that union is open. That means that generated type will include “or unknown” as the last possible value. Apps are expected to ignore that case when pattern patching since they wouldn’t know how to interpret it. However, that leaves Bluesky with ability to later officially support other types of attachments. Because more potential types could be added to the union layer (making some previously “unknown” stuff typed).
This has an interesting consequence that third party clients can “recognize” some type before it’s official. Eg some third party Bluesky client could choose to explicitly support a “Leaflet document” attachment to Bluesky posts, governed by Leaflet schema. If this pattern gets popular, Bluesky could be motivated to also support it, and even to reference a Leaflet document as one explicitly noted subtype of that union. Or it could keep ignoring it as one of the “unknown” values.
More on social issues around lexicons here: https://www.pfrazee.com/blog/lexicon-guidance