balance (n, (Path R pv Red po):(Path R gv gc (Node uv Red ul ur)):path) =
    balance (Node gv Red (Node uv Black ul ur) (Node pv Black po n), path)
balance (n, (Path R pv Red po):(Path R gv gc (Node uv Red ul ur)):path) =
    balance (Node gv Red (Node uv Black ul ur) (Node pv Black po n), path)
balance (n, (Path R pv Red po):(Path R gv gc (Node uv Red ul ur)):path) =
    balance (Node gv Red (Node uv Black ul ur) (Node pv Black po n), path)