let rec make_stream ~env = function
    PinitExp e -> begin
      let e = add_type_to_expr ~env e in
      match e.expr_t with
        CTTexpConstant(CTTconstString s) ->
          Istring(e,s)
      |        _ -> Isingle(e)
    end
  | PinitList(l) ->
      let l = List.map (make_stream ~env) l in
      Ilist { ist_dat = l; ist_loc = ("", 0) }