the insertion fixup is very easy, keep in mind that:
we always need to perseve the properties of the red black tree

1.
there's 6 situation, two pair

2.
cparent is the left branch of gparent or right branch
we compare these two, because we alway care about the black height, and
we can guarantee gparent is black node

3.

then , we compare the uncle color. still about black height(black uncle
and red uncle is different to the whole black height)

4.

black uncle

        rotation and recolor

red uncle

        just recolre and bubble up the red node