DRY up Stack::Calculate
Pass all tests