push(x)=v=concat(v,[x]);;
pop()={
if(#v,
my(x=v[#v]);
v=vecextract(v,1<<(#v-1)-1);
x
,
error("Stack underflow")
)
};
empty()=v==[];
peek()={
v[#v]