No mutable state

Felt very non idiomatic to use stack for operations that still seem natural using seq abstractions.

Thoughts about this implementation?