Good catch. It is working now:
```
(distarray2)bgriffith@BlakeMBP:~/distarray/examples$ ipython demo.py

Basic creation:
dap_b is a  <class 'distarray.client.DistArray'>
dap_c is a  <class 'distarray.client.DistArray'>

__setitem__:
[array([ 0.,  1.,  2.,  3.,  4.,  5.,  6.,  7.,  8.,  9.]),
 array([ 10.,  11.,  12.,  13.,  14.,  15.,  16.,  17.,  18.,  19.]),
 array([ 20.,  21.,  22.,  23.,  24.,  25.,  26.,  27.,  28.,  29.]),
 array([ 30.,  31.,  32.,  33.,  34.,  35.,  36.,  37.,  38.,  39.])]
[array([  0.,   4.,   8.,  12.,  16.,  20.,  24.,  28.,  32.,  36.]),
 array([  1.,   5.,   9.,  13.,  17.,  21.,  25.,  29.,  33.,  37.]),
 array([  2.,   6.,  10.,  14.,  18.,  22.,  26.,  30.,  34.,  38.]),
 array([  3.,   7.,  11.,  15.,  19.,  23.,  27.,  31.,  35.,  39.])]

@local functions:
[array([ 0.  ,  0.84,  0.91,  0.14, -0.76, -0.96, -0.28,  0.66,  0.99,  0.41]),
 array([-0.54, -1.  , -0.54,  0.42,  0.99,  0.65, -0.29, -0.96, -0.75,  0.15]),
 array([ 0.91,  0.84, -0.01, -0.85, -0.91, -0.13,  0.76,  0.96,  0.27, -0.66]),
 array([-0.99, -0.4 ,  0.55,  1.  ,  0.53, -0.43, -0.99, -0.64,  0.3 ,  0.96])]

calling @local functions from each other:
[array([ 50.  ,  50.84,  50.91,  50.14,  49.24,  49.04,  49.72,  50.66,  50.99,  50.41]),
 array([ 49.46,  49.  ,  49.46,  50.42,  50.99,  50.65,  49.71,  49.04,  49.25,  50.15]),
 array([ 50.91,  50.84,  49.99,  49.15,  49.09,  49.87,  50.76,  50.96,  50.27,  49.34]),
 array([ 49.01,  49.6 ,  50.55,  51.  ,  50.53,  49.57,  49.01,  49.36,  50.3 ,  50.96])]

calling MPI from @local functions:
[array([ 780.]), array([ 780.]), array([ 780.]), array([ 780.])]
```