type TestSum = int | string | []int struct Bar { y int } struct Foo { mut: a TestSum b int c string d Bar } fn main() { a := Foo{} $for f in a.fields { $if f.typ is $sumtype { $for f2 in f.variants { dump(f2) } } $else $if f.typ is Bar { assert true } } $for f in a.variants { } $for f in T.variants { } }