fn main() {
    // Simulate the SOL creation from loom.sy
    let t = t_linspace(0.0, 3.0, 100)
    let sol = t_zeros(100)
    for i in 0..100 {
        let tv = t_index_get(t, i)
        let sol_v = 117.0 - 50.0 * tv + 20.0 * tv * tv
        let sol = t_index_set(sol, i, sol_v)
    }

    println("sol len:")
    println(tensor_len(sol))
    println("sol sum:")
    println(tensor_sum(sol))

    // The issue: inside the for loop, `let sol =` creates a NEW binding each iteration
    // The outer sol never sees the updates! It's all zeros.
    println("sol[50]:")
    println(t_index_get(sol, 50))
}
