`Tuple.parseSpecs` takes care of more detailed errors, but `NameTypePairs` will give a poor error when given types, so this overload should probably be constrained with `isExpressionTuple!syms` (assuming that `isExpressionTuple` is false if there are any types mixed in with any expressions; the documentation doesn't say).