public static SCode Make(Primitive2 rator, Argument rand0, SCode rand1)
 {
     return
         ((rand0 is Argument0) ? PrimitiveIsObjectEqA0.Make(rator, (Argument0)rand0, rand1)
         : (rand0 is Argument1) ? PrimitiveIsObjectEqA1.Make(rator, (Argument1)rand0, rand1)
         : (rand1 is LexicalVariable) ? Unimplemented()
         : (rand1 is Quotation) ? PrimitiveIsObjectEqAQ.Make(rator, rand0, (Quotation)rand1)
         : new PrimitiveIsObjectEqA(rator, rand0, rand1));
 }
 public static SCode Make(PrimitiveIsObjectEqA0 predicate, SCode consequent, SCode alternative)
 {
     return
         (predicate is PrimitiveIsObjectEqA0Q) ? PCondIsObjectEqA0Q.Make ((PrimitiveIsObjectEqA0Q) predicate, consequent, alternative) :
         new PCondIsObjectEqA0 (predicate, consequent, alternative);
 }
 protected PCondIsObjectEqA0(PrimitiveIsObjectEqA0 predicate, SCode consequent, SCode alternative)
     : base(predicate, consequent, alternative)
 {
 }