UFile (package = ) [public class DeadElse {...]
    UClass (name = DeadElse) [public class DeadElse {...}]
        UMethod (name = foo) [public static fun foo() : int {...}]
            UBlockExpression [{...}] = Nothing
                UDeclarationsExpression [var f: boolean = true] = Undetermined
                    ULocalVariable (name = f) [var f: boolean = true]
                        ULiteralExpression (value = true) [true] = true
                UDeclarationsExpression [var x: int = 0] = Undetermined
                    ULocalVariable (name = x) [var x: int = 0]
                        ULiteralExpression (value = 0) [0] = 0
                UDeclarationsExpression [var y: int = 1] = Undetermined
                    ULocalVariable (name = y) [var y: int = 1]
                        ULiteralExpression (value = 1) [1] = 1
                UDeclarationsExpression [var z: int] = Undetermined
                    ULocalVariable (name = z) [var z: int]
                UIfExpression [if (f) {...}] = (var y = 1)
                    USimpleNameReferenceExpression (identifier = f) [f] = (var f = true)
                    UBlockExpression [{...}] = (var y = 1)
                        UBinaryExpression (operator = =) [z = y] = (var y = 1)
                            USimpleNameReferenceExpression (identifier = z) [z] = (var z = Undetermined)
                            USimpleNameReferenceExpression (identifier = y) [y] = (var y = 1)
                    UBlockExpression [{...}] = (var x = 0)
                        UBinaryExpression (operator = =) [z = x] = (var x = 0)
                            USimpleNameReferenceExpression (identifier = z) [z] = (var z = Undetermined)
                            USimpleNameReferenceExpression (identifier = x) [x] = (var x = 0)
                UReturnExpression [return z] = Nothing
                    USimpleNameReferenceExpression (identifier = z) [z] = (var z = (var y = 1))
