redblack functional red black tree in scala based in Chris Okazaki's functional pearl Okasaki-Red-Black.pdf