Andrei Alexandrescu wrote:
> Yes. The way it should be is not with sink, but with the standard output 
> iterator method put().
> 
> void streamOut(T, R)(T object, R range)
> {
>     foreach(x; a) range.put(x);
>     range.put(b);
>     range.put(c);
> }
// object.d
class Object
{
	void streamOut(R)(R range);
}
No?