Sorry, some glitch with email answer.The main difference between my solution and TypeTuple is that you can pass anonymous struct between other functions to use it later:
``` void foo(T)(T holder) { holder = sinCos(3.0f); }
void main() { float s,c; foo(tie(s,c)); writeln(s, " ", c); } ```