public BigInteger GetNumber()
{
if (Stack.Count == 0)
throw new InvalidOperationException("Stack underflow.");
BigInteger result;
var raw = Stack.Pop();
return (raw is BigInteger ? (BigInteger) raw : BigInteger.TryParse((string) raw, out result) ? result : Ut.Throw<BigInteger>(new InvalidOperationException("Value is not a valid integer.")));
}