We need to do the usual trick of
public struct Thing {
let underlying: _Thing
internal enum _Thing {
case example
}
public static example = .init(.example)
internal init(_ underlying: _Thing) {
self.underlying = underlying
}
}
to ensure future API compatibility -- for example for all settings, like singleton allocation strategy etc.