protected function many($openKind, $parseFn, $closeKind)
    {
        $this->expect($openKind);
        $nodes = [$parseFn($this)];

        while (!$this->skip($closeKind)) {
            array_push($nodes, $parseFn($this));
        }

        return $nodes;
    }