Assert every invariant this tree maintains: no red node has a red child, all
root-to-leaf paths have the same black height, keys are in order, subtree
sizes add up and no double-black colour or leaf survives a deletion.
The root is allowed to be red (as in Germane & Might's deletion algorithm,
blacken only recolours a red root that has a red child), so a black root
is deliberately not asserted.
Assert every invariant this tree maintains: no red node has a red child, all root-to-leaf paths have the same black height, keys are in order, subtree sizes add up and no double-black colour or leaf survives a deletion.
The root is allowed to be red (as in Germane & Might's deletion algorithm,
blackenonly recolours a red root that has a red child), so a black root is deliberately not asserted.