I think we should rename `key_type` to `dimension_name_type` or something equivalent in `xcoordinate` to avoid misunderstanding with the `key_type` from `xaxis`