sclass WithPollValue extends LazyVar {
  O pollValue = noPoll;
  
  // indicates no polling needed
  static new O noPoll;
  
  *() {}
  *(O *pollValue, IF0 makeValue) { super(makeValue); }
  *(O *pollValue, A value) { super(value); }
  O pollValue() { ret pollValue; }
  
  toString { ret "WithPollValue " + pollValue + " " + super.toString(); }
}