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);
}
```