Rainer Deyke: > Allowing ranges to have either value or reference semantics is a > disaster, At the moment you can put the methods that define a range into a struct, or inside an class (just like you can put opApply inside a struct or class). What do you suggest? To allow such methods inside classes only? Uhm. Bye, bearophile