stack.go
func (stack *Stack) Pop() (interface{}, bool) {
	stack.key.Lock()
	defer stack.key.Unlock()

	if nil == stack.underlyer {
		return nil, false
	}
	return stack.underlyer.RemoveFront()
}
func (stack *Stack) Pop() (interface{}, bool) {
	stack.key.Lock()
	defer stack.key.Unlock()

	if nil == stack.underlyer {
		return nil, false
	}
	return stack.underlyer.RemoveFront()
}
// Pop returns the entry at the top of the Stack then removes it.