many of these kind of expressions in stats distributions look like they are written the inherited style

maybe we should start to explicitly broadcast, which would make the code easier to understand (I always had and have a problem which calculations are done for "real" and which just to broadcast to get matching shapes.)

numpy.broadcast_arrays

I think this should be equivalent (not tested):

```
proxy_value = extract(cond2, np.broadcast_arrays(proxy_value, cond2) [0])
```