https://issues.dlang.org/show_bug.cgi?id=13773
--- Comment #1 from Kenji Hara k.hara...@gmail.com ---
I think this should be marked as invalid or changed as a compiler enhancement,
because:
1. ReturnType takes an alias (through the index 0 of the TupleParameter).
2. Currently alias parameter cannot handle the runtime context of the
expression,
so ReturnType!(m.keys), ReturnType!(c.keys), and ReturnType!(i.keys) are
perfectly same with ReturnType!(Foo.keys).
3. The return type of Foo.keys is inout(int)[].
--