private static bool AddNames(TypeSymbol type, ArrayBuilder <string> namesBuilder)
 {
     if (type.IsTupleType)
     {
         if (type.TupleElementNames.IsDefaultOrEmpty)
         {
             // If none of the tuple elements have names, put
             // null placeholders in.
             // TODO(https://github.com/dotnet/roslyn/issues/12347):
             // A possible optimization could be to emit an empty attribute
             // if all the names are missing, but that has to be true
             // recursively.
             namesBuilder.AddMany(null, type.TupleElementTypes.Length);
         }
         else
         {
             namesBuilder.AddRange(type.TupleElementNames);
         }
     }
     // Always recur into nested types
     return(false);
 }