{subject, prop, <比較演算子>: value}。値はリテラルの並びか、別のプロパティへの参照。
{subject, prop, in_stage}・{subject, prop, in_stage_or_above}。propの実効値がその名前の段
(6.4節)に該当しているか。boundはちょうどその段か、その段以上か(14.1節)。
{subject, slot, matches}。subjectが持つスロットの中に、当てはまる子が1つでもあるか。
{subject, in_slot}。subjectが今まさに親のそのスロットに入っているか。
conditions(14節)の木を何が書かれているかとして読み上げる相手(ConditionNode.readBy)。
葉の種類ごとにメソッドを持つのは、種類を1つ足したときに読み手が黙って取りこぼさないようにするため (効果の読み上げ口(EffectReader)と同じ理由)。kindごとに使うフィールドが引数で決まるので、 読み手の側に「このkindならこのフィールドがあるはず」という非nullの思い込みが要らない。
複合ノード(all/any/not)は子を読み下せる形(ConditionDeclaration)で渡す。入れ子をどう畳むかは 読み手が決める。