let rec reduce_program ~env prog = 
  let prog = List.map (reduce_gdecl ~env) prog
  in
  let env = reduce_environment env in
  env, prog