public RawOutcome Without(RawTokenResult result)
        {
            var clone = Clone();

            clone.Tokens.RemoveAt(Tokens.IndexOf(result));
            return(clone);
        }
        public RawOutcome With(RawTokenResult result)
        {
            var clone = Clone();

            clone.Tokens.Add(result);
            return(clone);
        }