CaseIterable

public extension CaseIterable

Adds a parameterless initializer to all CaseIterable types, returning the first case. This allows the macro to generate TypeName.init() uniformly for both structs and enums.