vvalue
compileProgram :: (Compiling m uni fun name a, MonadReader (CompilationOpts name fun a) m)=> Program tyname name uni fun a-> m (Program name uni fun a)