balance (Node nv nc nl nr, (Path R pv Red pl):(Path R gv gc u):path) =
  (Node nv nc nl nr, (Path R pv Black (Node gv Red u pl)):path)
balance (Node nv nc nl nr, (Path R pv Red pl):(Path R gv gc u):path) =
  (Node nv nc nl nr, (Path R pv Black (Node gv Red u pl)):path)
balance (Node nv nc nl nr, (Path R pv Red pl):(Path R gv gc u):path) =
  (Node nv nc nl nr, (Path R pv Black (Node gv Red u pl)):path)