Purely-functional, singly-linked lists.
public func new<T>() : Stack<T>
public func isEmpty(stack : Stack<Any>) : Bool
public func size(stack : Stack<Any>) : Nat
public func contains<T>(stack : Stack<T>, item : T) : Bool
public func get<T>(stack : Stack<T>, n : Nat) : ?T
public func last<T>(stack : Stack<T>) : ?T
public func forEach<T>(stack : Stack<T>, f : T -> ())
public func mapResult<T, R, E>(stack : Stack<T>, f : T -> Result.Result<R, E>) : Result.Result<Stack<R>, E>
public func foldLeft<T, A>(
stack : Stack<T>,
base : A,
combine : (A, T) -> A
) : A
public func foldRight<T, A>(
stack : Stack<T>,
base : A,
combine : (T, A) -> A
) : A
public func find<T>(stack : Stack<T>, f : T -> Bool) : ?T
public func all<T>(stack : Stack<T>, f : T -> Bool) : Bool
public func any<T>(stack : Stack<T>, f : T -> Bool) : Bool
public func merge<T>(
stack1 : Stack<T>,
stack2 : Stack<T>,
lessThanOrEqual : (T, T) -> Bool
) : Stack<T>
public func compare<T>(
stack1 : Stack<T>,
stack2 : Stack<T>,
compare : (T, T) -> Order.Order
) : Order.Order
public func generate<T>(n : Nat, f : Nat -> T) : Stack<T>
public func singleton<T>(item : T) : Stack<T>
public func repeat<T>(item : T, n : Nat) : Stack<T>
public func fromArray<T>(array : [T]) : Stack<T>
public func fromVarArray<T>(array : [var T]) : Stack<T>
public func toArray<T>(stack : Stack<T>) : [T]
public func toVarArray<T>(stack : Stack<T>) : [var T]
public func toText<T>(stack : Stack<T>, f : T -> Text) : Text