Note: should we change arrow and at delay to simply delay for CExp? Rather crucial change: Allow match, urec and primrec to swap orders of guards
compiled files, files waiting to be compiled, imported functions, functions to be exported, functions to be compiled