public indirect enum E { case foo(Any) case bar(EE) case blah } public enum EE { case x(Int) case y(String) }