Is Pandas too clever (indices issue)?

I would like to concatenate the numpy arrays of 2 columns:

```python
import pandas as pd
import numpy as np

tmp = pd.DataFrame({'a':[np.array([1,2,3])], 'b':[np.array([8,9])]})
tmp.apply(lambda x: np.concatenate([x['a'], x['b']]), axis=1)
```
The answer, which I don't understand, is:

 `ValueError: Shape of passed values is (1, 5), indices imply (1, 2)`

If I do 

```python
tmp.apply(lambda x: list(np.concatenate([x['a'], x['b']])), axis=1)
```

Then it works, but if I really want an array, I cannot:

```python
tmp.apply(lambda x: np.array([2,4,6]), axis=1)
```
Boom! `ValueError: Shape of passed values is (1, 3), indices imply (1, 2)`

I think Pandas is trying to be clever for some reason I don't understand. Could it be stupid?
