EST: drafts on count-balancing, looks less efficient than red-black balancing
remove size method
replace `x is None` with `not x`