As this discussion pops up again: Am I the only one who dislikes the missing capitalization? I don't see any value in recycling a keyword (and breaking with convention). Imho it should be protocol StructOnlyProtocol: Struct { and protocol ClassOnlyProtocol: Class { - Tino