(pl.col("foo") * pl.col("bar")).sum().over("ham", "ham2") / 2

               0                 1             2              3             4
   ┌───────────────────────────────────────────────────────────────────────────────
   │
   │     ╭───────────╮
 0 │     │ binary: / │
   │     ╰─────┬┬────╯
   │           ││
   │           │╰────────────────╮
   │           │                 │
   │  ╭────────┴────────╮    ╭───┴────╮
 1 │  │ lit(dyn int: 2) │    │ window │
   │  ╰─────────────────╯    ╰───┬┬───╯
   │                             ││
   │                             │╰────────────┬──────────────╮
   │                             │             │              │
   │                       ╭─────┴─────╮  ╭────┴─────╮     ╭──┴──╮
 2 │                       │ col(ham2) │  │ col(ham) │     │ sum │
   │                       ╰───────────╯  ╰──────────╯     ╰──┬──╯
   │                                                          │
   │                                                          │
   │                                                          │
   │                                                    ╭─────┴─────╮
 3 │                                                    │ binary: * │
   │                                                    ╰─────┬┬────╯
   │                                                          ││
   │                                                          │╰────────────╮
   │                                                          │             │
   │                                                     ╭────┴─────╮  ╭────┴─────╮
 4 │                                                     │ col(bar) │  │ col(foo) │
   │                                                     ╰──────────╯  ╰──────────╯

---
(pl.col("foo") * pl.col("bar")).sum().over(pl.col("ham")) / 2

               0                1              2             3
   ┌────────────────────────────────────────────────────────────────
   │
   │     ╭───────────╮
 0 │     │ binary: / │
   │     ╰─────┬┬────╯
   │           ││
   │           │╰───────────────╮
   │           │                │
   │  ╭────────┴────────╮   ╭───┴────╮
 1 │  │ lit(dyn int: 2) │   │ window │
   │  ╰─────────────────╯   ╰───┬┬───╯
   │                            ││
   │                            │╰─────────────╮
   │                            │              │
   │                       ╭────┴─────╮     ╭──┴──╮
 2 │                       │ col(ham) │     │ sum │
   │                       ╰──────────╯     ╰──┬──╯
   │                                           │
   │                                           │
   │                                           │
   │                                     ╭─────┴─────╮
 3 │                                     │ binary: * │
   │                                     ╰─────┬┬────╯
   │                                           ││
   │                                           │╰────────────╮
   │                                           │             │
   │                                      ╭────┴─────╮  ╭────┴─────╮
 4 │                                      │ col(bar) │  │ col(foo) │
   │                                      ╰──────────╯  ╰──────────╯

---
(pl.col("a") + pl.col("b"))**2 + pl.int_range(3)

                 0                      1                    2                 3            4
   ┌──────────────────────────────────────────────────────────────────────────────────────────────
   │
   │       ╭───────────╮
 0 │       │ binary: + │
   │       ╰─────┬┬────╯
   │             ││
   │             │╰──────────────────────────────────────────╮
   │             │                                           │
   │  ╭──────────┴──────────╮                        ╭───────┴───────╮
 1 │  │ function: int_range │                        │ function: pow │
   │  ╰──────────┬┬─────────╯                        ╰───────┬┬──────╯
   │             ││                                          ││
   │             │╰─────────────────────╮                    │╰────────────────╮
   │             │                      │                    │                 │
   │    ╭────────┴────────╮    ╭────────┴────────╮  ╭────────┴────────╮  ╭─────┴─────╮
 2 │    │ lit(dyn int: 3) │    │ lit(dyn int: 0) │  │ lit(dyn int: 2) │  │ binary: + │
   │    ╰─────────────────╯    ╰─────────────────╯  ╰─────────────────╯  ╰─────┬┬────╯
   │                                                                           ││
   │                                                                           │╰───────────╮
   │                                                                           │            │
   │                                                                       ╭───┴────╮   ╭───┴────╮
 3 │                                                                       │ col(b) │   │ col(a) │
   │                                                                       ╰────────╯   ╰────────╯


