// linked list
type elem [int []/elem]

fn print_linked_list(start elem) {
    loop {
        println(start.0.to_string())
        elem := start.1
        switch! elem {
            [] elem {
                println("[END]")
                true // break
            }
            elem elem &start = elem // continue
        }
    }
    []
}

[1 [2 [3 [5 [7 []]]]]].print_linked_list()