This PR adds core metaprogramming functions for forking off background tasks from elaboration such that their results are visible to reporting and the language server