bearophile:
> auto r1 = range.find((ArrayType1!(typeof(range)) x) { return x.weight > 100; });
Better:
auto r1 = range.find((BaseType1!(typeof(range)) x) { return x.weight > 100; });
Of course, you have to specify range twice there, and that's not good.
Bye,
bearophile