public function getParameterType(string $key)
    {
        if (!array_key_exists($key, $this->params))
            throw new OutOfRangeException("Invalid key: $key");

        return $this->param_types[$key];
    }