Re-organise the .h files, so that llvm_export() can make use of the self_s struct.