`exists('*funcname')` should be avoided because it doesn't work well for autoload-functions.
You can see that `echo exists('*ghcmod#version') | echo ghcmod#version() | echo exists('*ghcmod#version')` shows `0`, `[1, 1, 0]` and `1`.

It would be better calling `g:ghcmod_open_quickfix_function` whenever it is defined.