private function settersFor($class) { $setters = isset($this->types[$class]) ? $this->types[$class]->setters : array(); return array_values(array_unique(array_merge($setters, $this->parent->settersFor($class)))); }