@esc Although we may have discussed this offline, this change (along with its associate in the `_remap_with_bounds` method) takes a bit of detective work to understand the reason for the fix.

Can I float an alternative?

Simply back out changes L319-323 and L369-373 and replace the first line of `_shape` with:

```python
def _shape(self, nd_values_by_key):
    nd_values = sorted(nd_values_by_key.values(),
                       key=lambda value: value.ndim)
```

This for me places the fix **closer** to the problem i.e. in the `_shape` method itself. This one-liner guarantees that non-`None` factory coordinates (with fully extensive shape) are popped first, and serve as a valid shape template.