struct NF { ivec2 data; this(E...)( E e ) if( is(typeof(ivec2(e))) ) { data = ivec2(e); } mixin accessByString!( 2,int,"data", "near far|n f" ); } auto b = NF(1,100); assert( eq( b.near, b.n ) ); assert( eq( b.far, b.f ) ); b.nf = ivec2( 10,20 ); assert( eq( b.near, 10 ) ); assert( eq( b.far, 20 ) );