Remember that EmbeddableEntry is used at compile time, so to support reloadable expressions (for debugging), we need an ExpQ that can be given to the template haskell splice.  If you give me a general IO action at compile time, I can't turn it into an Exp to embed in a splice.