public function getRule($rule, $arg = null): Rule\Set
    {
        $rules = new Rule\Set();
        if (is_string($rule)) {
            $vrule = $this->registry->factory($rule, $arg);
            if ($vrule instanceof Draft) {
                $vrule = $vrule->finish($this->registry);
            }
            $rules->add($vrule);
        } elseif (is_object($rule) || is_array($rule)) {
            foreach ($rule as $name => $args) {
                $rules->merge($this->getRule($name, $args));
            }
        }
        return $rules;
    }