public override bool EvalStep(out object answer, ref Control expression, ref Environment environment)
        {
#if DEBUG
            Warm("-");
            noteCalls(this.rand0);
            SCode.location = "GeneralCarCdrSQ.EvalStep";
#endif
            // Eval argument0
            object ev0;

            Control     unev = this.rand0;
            Environment env  = environment;
            while (unev.EvalStep(out ev0, ref unev, ref env))
            {
            }
            ;
            if (ev0 == Interpreter.UnwindStack)
            {
                throw new NotImplementedException();
                //((UnwinderState) env).AddFrame (new PrimitiveCombination2Frame0 (this, environment));
                //answer = Interpreter.UnwindStack;
                //environment = env;
                //return false;
            }

            // Compute answer
            if (Cons.GeneralCarCdr(out answer, ev0, this.rand1Value))
            {
                throw new NotImplementedException();
            }
            return(false);
        }
        public override bool EvalStep(out object answer, ref Control expression, ref Environment environment)
        {
#if DEBUG
            Warm("PrimitiveGeneralCarCdrA0Q.EvalStep");
#endif
            if (Cons.GeneralCarCdr(out answer, environment.Argument0Value, this.rand1Value))
            {
                throw new NotImplementedException();
            }
            return(false);
        }
        public override bool EvalStep(out object answer, ref Control expression, ref Environment environment)
        {
#if DEBUG
            Warm("PrimitiveGeneralCarCdrLQ.EvalStep");
#endif
            // Eval argument0
            object ev0;
            if (environment.FastLexicalRef(out ev0, this.rand0Name, this.rand0Depth, this.rand0Offset))
            {
                throw new NotImplementedException();
            }

            // Compute answer
            if (Cons.GeneralCarCdr(out answer, ev0, this.rand1Value))
            {
                throw new NotImplementedException();
            }
            return(false);
        }