The current implementation of the `align` function is problematic in the context of flexible indexes because: - the sizes of the joined indexes are reused for checking compatibility with unlabelled dimension sizes - the joined indexes are used as indexers to compute the aligned Dataset / DataArray. This currently works well since a pd.Index can be directly treated as a 1-d array but this won’t be always the case anymore with custom indexes. I'm opening this issue to gather ideas on how best to handle alignment in a more flexible way (I haven't been thinking much at this problem yet).