The compiler will synthesize an implementation of ValueEnumerable for an enum type if and only if: - the enum contains only cases without associated values; - the enum is not @objc; - the enum has an explicit ValueEnumerable conformance (and does not fulfil the protocol's requirements).
ValueEnumerable
のときは生成で良い気が。 Codable
が Codable
なプロパティを持っている場合と同じように。Foo
の ValueCollection
が得られれば良いのでは?