public function reduce()
    {
        $pass = false;
        foreach ($this->variables as $variable => $type) {
            if ('variable' == $type || 'string' == $type || 'istring' == $type || 'array' == $type || 'null' == $type || 'numeric' == $type) {
                unset($this->variables[$variable]);
            } else {
                $pass = true;
                $this->infered[$variable] = $type;
            }
        }

        return $pass;
    }