module type Stack#[T]* = record item: ^T end proc push#[T]*(s: ^Stack#[T]; item: ^T) return end.