Shoulnd't `readyState(READY_STATE_HALFCLOSED)` and `is_half_closed_` be in sync?