static Node LeftBalance(object key, object val, Node ins, Node right)
{
if (ins is Red && ins.Left is Red)
return MakeRed(ins.Key, ins.Val, ins.Left.Blacken(), MakeBlack(key, val, ins.Right, right));
else if (ins is Red && ins.Right is Red)
return MakeRed(ins.Right.Key, ins.Right.Val,
MakeBlack(ins.Key, ins.Val, ins.Left, ins.Right.Left),
MakeBlack(key, val, ins.Right.Right, right));
else
return MakeBlack(key, val, ins, right);
}