In C# 7, it's apparently not possible to destructure to a tuple with only one item.
ValueTuple<T1>
exists, so it's not because of that.
And backwards compatibility means a Deconstruct
method with one argument must also be legal:
public void Deconstruct(out int i)
So why couldn't you write:
var (num) = foo;
Is it simply that there's no sensible use case for this?