ors = $ors; } public function types() { return array_map(create_function('$item', 'return $item->type();'), $this->ors); } public function type() { $types = array_diff($this->types(), array('variable')); if (count($types) == 1) { return array_pop($types); } } }