public function check(string $name, ...$params)
    {
        if (!array_key_exists($name, $this->conditions)) {
            throw new \UnexpectedValueException("Unknown conditional: @{$name}");
        }

        $function = $this->conditions[$name];

        return $function(...$params);
    }