Singly-linked list/Element insertion

func insert_after(a,b) {
    b{:next} = a{:next}
    a{:next} = b
}

var B = Hash(
    data => 3,
    next => nil,    # not a circular list
)
var A = Hash(
    data => 1,
    next => B,
)
var C = Hash(
    data => 2,
)

insert_after(A, C)