accepts X as VariableColorless variations