Why are return types not included in compiler generated mangled names?