`to_data` now calls `to_value`