On Sunday, 27 December 2020 at 14:46:43 UTC, claptrap wrote: > So basically if opIndexMember is defined for Foo then... > > foo[i].x > > Is rewritten to.. > > foo.opIndexMember!("x")(i); For an alternative solution see: https://github.com/nordlow/phobos-next/blob/master/src/nxt/soa.d No benchmarks yet, tough, but you're very welcome to add them.