Like registers, should there just be a `_check_type` instead of a `_check_value`?