This code doesn't work! ---- import std.range; static assert(isOutputRange!(OutputRange!int, int)); ---- This issue triggered from hasMember template. hasMember returns false if use interface or union.
https://github.com/D-Programming-Language/phobos/pull/330
https://github.com/D-Programming-Language/phobos/commit/eeade909f64f8fdf8b869d0e38e4b9395cba17e3