let rec reduce_program ~env prog = 
  let prog = list_map_ordered (reduce_gdecl ~env) prog in
  List.flatten prog