Transplant function, reduce removal cases
Simplify 2 child case
added comment to clarify the meaning of transplant
Changed transplant to replaceWith, which increases code transparency and self-documentation.
Removed predecessor funciton since it is not used and can be easily replicated if needed.
corrected the comment on replaceWith
removed old transplant function
Added interactivity
Created clear(), improved/reduced isBinary, split remove into two functions