public OpTypesPair(VCExprOp op, List <Type /*!*/> /*!*/ types)
 {
     Contract.Requires(op != null);
     Contract.Requires(cce.NonNullElements(types));
     this.Op       = op;
     this.Types    = types;
     this.HashCode = HFNS.PolyHash(op.GetHashCode(), 17, types);
 }
 public OpTypesPair(VCExprOp op, List<Type/*!*/>/*!*/ types) {
   Contract.Requires(op != null);
   Contract.Requires(cce.NonNullElements(types));
   this.Op = op;
   this.Types = types;
   this.HashCode = HFNS.PolyHash(op.GetHashCode(), 17, types);
 }