```julia @flex struct Foo{A} a::A b::Int end ``` becomes ```julia struct Foo{A} __attributes__::Dict end getproperty(f::Foo{A}, sym) where A = (sym==:a ? f.__attributes__[sym]::A : f.__attributes[sym]) ```