could use `cls._scalar_data_error` here, no?