If a value is ever touched it will use empty string rather than null as the value. There is no way to unset it afaik either. Not quite sure what we should do here. We could have a null checkbox that starts out checked. But that seems like overkill. Another option is to treat empty as null but this isn't great either. Maybe someone else has a better idea.