As you might surmise, I don't have any specific generic algorithm an Emptiable protocol would enable. I find it interesting for two reasons: Clarity: I find "isInhabited" to be much clearer and easier to reason about than "isEmpty == false" & "!isEmpty" (& even "isNonEmpty...