sclass YesNoMaybe { O value; // null, Bool or Float (0=no, 1=yes) S comment; *() {} *(bool *value) {} *(Float *value) {} static YesNoMaybe yes() { ret YesNoMaybe(true); } static YesNoMaybe no() { ret YesNoMaybe(false); } static YesNoMaybe maybe() { ret YesNoMaybe(0.5f); } toString { if (eqOneOf(value, true, 1f)) ret "yes"; if (eqOneOf(value, false, 0f)) ret "no"; ret "maybe" + appendRoundBracketed(comment); } }