```
np.float32(1.)+Tensor([1.])
```

works as expected (returns a Tensor)

**But:**

```
Tensor([1.])+np.float32(1.)
```

fails with

```
TypeError: add received an invalid combination of arguments - got (numpy.float32)
```

```
np.float32(1.)+Variable(Tensor([1.]))
```

returns a very strange numpy array:

```
array([[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[Variable containing:
2
[torch.FloatTensor of size 1]
]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]], dtype=object)
```

```
Variable(Tensor([1.]))+np.float32(1.)
```

fails with

```
TypeError: add received an invalid combination of arguments - got (numpy.float32)
```

I expected to get Variable when adding float32 to Variable and Tensor when adding float32 to Tensor. Is it then a bug?