fn choose(flag: Bool, left: ref<i32>, right: ref<i32>) -> ref<i32> {
    var current: ref<i32> = left
    if flag {
        current = right
    }
    return current
}

pub fn main(flag: Bool) -> Void {
    var x: i32 = 1
    let y: i32 = 2
    let current: ref<i32> = choose(flag, &x, &y)
    x = 3
}
