FILE: branches.kt
    public? final? fun foo(a: Int, b: Int): <implicit> {
        ^foo when () {
            >(a#, b#) ->  {
                a#
            }
            else ->  {
                b#
            }
        }

    }
    public? final? fun bar(a: Double, b: Double): Double {
        when () {
            >(a#, b#) ->  {
                println#(a#)
                ^bar a#
            }
            else ->  {
                println#(b#)
                ^bar b#
            }
        }

    }
    public? final? fun baz(a: Long, b: Long): Long {
        when () {
            >(a#, b#) ->  {
                println#(a#)
                ^baz a#
            }
            else ->  {
                ^baz b#
            }
        }

    }
    public? final? fun grade(g: Int): String {
        ^grade when (g#) {
            when () {
                ==($subj$, Int(6)) ->  {
                    Boolean(true)
                }
                else ->  {
                    ==($subj$, Int(7))
                }
            }
             ->  {
                String(Outstanding)
            }
            ==($subj$, Int(5)) ->  {
                String(Excellent)
            }
            ==($subj$, Int(4)) ->  {
                String(Good)
            }
            ==($subj$, Int(3)) ->  {
                String(Mediocre)
            }
            Int(1).rangeTo#(Int(2)).contains#($subj$) ->  {
                String(Fail)
            }
            ($subj$ is Number) ->  {
                String(Number)
            }
            else ->  {
                String(Unknown)
            }
        }

    }
