public static SCode Make(Primitive2 rator, LexicalVariable rand0, SCode rand1)
 {
     return
         ((rand0 is Argument) ? PrimitiveIsObjectEqA.Make(rator, (Argument)rand0, rand1)
         : (rand0 is LexicalVariable1) ? PrimitiveIsObjectEqL1.Make(rator, (LexicalVariable1)rand0, rand1)
         : (rand1 is LexicalVariable) ? Unimplemented()
         : (rand1 is Quotation) ? PrimitiveIsObjectEqLQ.Make(rator, rand0, (Quotation)rand1)
         : new PrimitiveIsObjectEqL(rator, rand0, rand1));
 }
 public static SCode Make(PrimitiveIsObjectEqA predicate, SCode consequent, SCode alternative)
 {
     return
         (predicate is PrimitiveIsObjectEqA0) ? PCondIsObjectEqA0.Make ((PrimitiveIsObjectEqA0) predicate, consequent, alternative) :
         (predicate is PrimitiveIsObjectEqA1) ? PCondIsObjectEqA1.Make ((PrimitiveIsObjectEqA1) predicate, consequent, alternative) :
         (predicate is PrimitiveIsObjectEqAQ) ? PCondIsObjectEqAQ.Make ((PrimitiveIsObjectEqAQ) predicate, consequent, alternative) :
         (consequent is LexicalVariable) ? Unimplemented () :
         (consequent is Quotation) ? Unimplemented () :
         (alternative is LexicalVariable) ? Unimplemented () :
         (alternative is Quotation) ? Unimplemented () :
         new PCondIsObjectEqA (predicate, consequent, alternative);
 }
 protected PCondIsObjectEqA(PrimitiveIsObjectEqA predicate, SCode consequent, SCode alternative)
     : base(predicate, consequent, alternative)
 {
 }