public function __construct(array $disjuncts = array())
{
foreach ($disjuncts as $disjunct) {
if ($disjunct instanceof self) {
foreach ($disjunct->disjuncts as $expr) {
// $disjunct is guaranteed not to contain Disjunctions
$this->disjuncts[] = $expr;
}
} else {
$this->disjuncts[] = $disjunct;
}
}
}