Domain whose members are stacks of elements (lists, last pushed is head of the list), partially ordered by the prefix relation (`c;b;a` <= `b;a`), and whose join computes the longest common prefix (so `c;b;a` join `f;g;b;c;a` = `a`), so the top element is the empty stack.

### Parameters

`Element : InferStdlib.PrettyPrintable.PrintableOrderedType`

### Signature

`include S with type astate = Element.t list`
`type astate``= Element.t list```
`val (<=) : lhs:astate ‑> rhs:astate ‑> bool`

the partial order induced by join

`val join : astate ‑> astate ‑> astate`
`val widen : prev:astate ‑> next:astate ‑> num_iters:int ‑> astate`
`val pp : F.formatter ‑> astate ‑> unit`
`val push : Element.t ‑> astate ‑> astate`
`val pop : astate ‑> astate`

throws exception on empty

`val empty : astate`
`val is_empty : astate ‑> bool`