Fix for LLVM 3.3

It doesn't quite compile with this on llvm 3.3 but at least this fixes the headers to be a little neater.