b4n requested changes on this pull request.
I have to agree with @kugel- here: if the file uses a symbol defined in a header, it should include it. Manually introducing forward declarations should IMO be left to breaking circular dependencies alone. Also, I don't know how it is on your machine, but here with a not-to-recent laptop, compilation time is not so bad I feel we need to resort to such workarounds.