pub fn compile_program(program: TyProgram) -> Result<Context, CompileError>