public function signatureHelp(TextDocumentIdentifier $textDocument, Position $position): Promise
    {
        return coroutine(function () use ($textDocument, $position) {
            $document = yield $this->documentLoader->getOrLoad($textDocument->uri);
            return $this->signatureHelpProvider->getSignatureHelp($document, $position);
        });
    }