the horrible cross-library exception handling mess on linux. This may well break things on windows, which might want these things static. Regardless, even as it is, this should be considered experimental