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