Repository: pytorch
Issue: torch.fx fails to trace through "+" op between torch.Size and torch.fx.proxy.Proxy
Labels: oncall: fx

### 🐛 Describe the bug

torch.fx.proxy.Proxy + torch.Size - works
tuple(torch.Size) + torch.fx.proxy.Proxy - works
torch.Size + torch.fx.proxy.Proxy doesn't work

```python
import torch
import torch.nn as nn

class Model(nn.Module):
  def __init__(self):
    super().__init__()
    self.linear = nn.Linear(3, 3)
  
  def forward(self, x):
    input_shape = x.shape
    hidden_states = self.linear(x)
    y1 = (hidden_states.size(-1), ) + input_shape
    y2 = tuple(input_shape) + (hidden_states.size(-1), )
    y3 = input_shape + (hidden_states.size(-1), )


torch.fx.symbolic_trace(Model(), concrete_args={'x': torch.randint(100, (2, 3))})
```

```
TypeError                                 Traceback (most recent call last)
[<ipython-input-5-386c563846a8>](https://localhost:8080/#) in <module>
     15 
     16 
---> 17 torch.fx.symbolic_trace(Model(), concrete_args={'x': torch.randint(100, (2, 3))})

2 frames
[/usr/local/lib/python3.8/dist-packages/torch/fx/_symbolic_trace.py](https://localhost:8080/#) in symbolic_trace(root, concrete_args)
   1068     """
   1069     tracer = Tracer()
-> 1070     graph = tracer.trace(root, concrete_args)
   1071     name = (
   1072         root.__class__.__name__ if isinstance(root, torch.nn.Module) else root.__name__

[/usr/local/lib/python3.8/dist-packages/torch/fx/_symbolic_trace.py](https://localhost:8080/#) in trace(self, root, concrete_args)
    737                     "output",
    738                     "output",
--> 739                     (self.create_arg(fn(*args)),),
    740                     {},
    741                     type_expr=fn.__annotations__.get("return", None),

[<ipython-input-5-386c563846a8>](https://localhost:8080/#) in forward(self, x)
     12     y1 = (hidden_states.size(-1), ) + input_shape
     13     y2 = tuple(input_shape) + (hidden_states.size(-1), )
---> 14     y3 = input_shape + (hidden_states.size(-1), )
     15 
     16 

TypeError: torch.Size() takes an iterable of 'int' (item 2 is 'Proxy')
```

### Versions

```
Collecting environment information...
PyTorch version: 1.13.1+cu116
Is debug build: False
CUDA used to build PyTorch: 11.6
ROCM used to build PyTorch: N/A

OS: Ubuntu 20.04.5 LTS (x86_64)
GCC version: (Ubuntu 9.4.0-1ubuntu1~20.04.1) 9.4.0
Clang version: 10.0.0-4ubuntu1 
CMake version: version 3.22.6
Libc version: glibc-2.31

Python version: 3.8.10 (default, Nov 14 2022, 12:59:47)  [GCC 9.4.0] (64-bit runtime)
Python platform: Linux-5.10.147+-x86_64-with-glibc2.29
Is CUDA available: False
CUDA runtime version: 11.2.152
CUDA_MODULE_LOADING set to: N/A
GPU models and configuration: Could not collect
Nvidia driver version: Could not collect
cuDNN version: Probably one of the following:
/usr/lib/x86_64-linux-gnu/libcudnn.so.8.1.1
/usr/lib/x86_64-linux-gnu/libcudnn_adv_infer.so.8.1.1
/usr/lib/x86_64-linux-gnu/libcudnn_adv_train.so.8.1.1
/usr/lib/x86_64-linux-gnu/libcudnn_cnn_infer.so.8.1.1
/usr/lib/x86_64-linux-gnu/libcudnn_cnn_train.so.8.1.1
/usr/lib/x86_64-linux-gnu/libcudnn_ops_infer.so.8.1.1
/usr/lib/x86_64-linux-gnu/libcudnn_ops_train.so.8.1.1
HIP runtime version: N/A
MIOpen runtime version: N/A
Is XNNPACK available: True

Versions of relevant libraries:
[pip3] numpy==1.21.6
[pip3] torch==1.13.1+cu116
[pip3] torchaudio==0.13.1+cu116
[pip3] torchsummary==1.5.1
[pip3] torchtext==0.14.1
[pip3] torchvision==0.14.1+cu116
[conda] Could not collect
```

cc @ezyang @SherlockNoMad @EikanWang @jgong5 @wenzhe-nrv