I read through the LSP specification but I fail to understand the difference between the goto definition and goto implementation requests.
The go to definition request is sent from the client to the server to resolve the definition location of a symbol at a given text document position.
The go to implementation request is sent from the client to the server to resolve the implementation location of a symbol at a given text document position.