you can absolutely write BSD licensed ffi bindings to a GPL library, however, the user of the library will be subject to the fact that the underlying object code is derived from GPL code, But that does not mean that client ffi has to be GPL. A good example of this might an api that can connect to backends written under various licenses (bsd, gpl, proprietary etc). A good example of such a lib is SciPy
https://github.com/scipy/scipy/blob/master/LICENSE.txt
GPL (along with many other licenses) have never been tested in court. Additionally, if as an IP laywer, they'll say that the precise interpretation of the GPL licenses is unclear (but that the FSF's interpretation of the GPL is overreaching and requires magical powers beyond the scope of copyright law)
You can write code in any license you want, and you should! Just because a lib dep is GPL or LPGL doesn't mean your lib must be. However, you should explicitly note the presence of any dependencies that may have restrictive licenses like (L)GPL very very prominantly.
Do no try to use opinions to make legal decisions. Feelings have very very little to do with how law works. Its a complex organism that has (at this point) 1+ Millenia of legacy (legal) code.
Often times, legal matters are even more complex than software, sadly unlike in software where its "cheap" to experiment with compiler / linker flags, disambiguating legal matters tends to require court cases and legal proceedings that can be quite expensive.
Use whatever license makes you happy, but (if you're wanting it to be used in the haskell community as a library) make it MIT/BSD/Apache/equivalent.
GPL is appropriate for end user applications and black box server applications (certain DB application servers that shall not be named), and sometimes OSes too *(though the BSDers may argue otherwise).
LGPL with a Static linking exception is also hypothetically acceptable for haskell libraries, but theres some cultural bias against them, and its a somewhat a complex variant to use.
TL;DR -- if you ever want code you're writing to land in GHC/cabal/hackage-server/base, it needs to be MIT/BSD compatible. For anything else, talk with a lawyer
cheers
-Carter