public void NumericOperation(Func<BigInteger, object> fromInt, Func<double, object> fromDouble) { var item = ScliptingUtil.ToNumeric(Pop()); if (item is double) CurrentStack.Add(fromDouble((double) item)); else CurrentStack.Add(fromInt((BigInteger) item)); }