added experimental std::initializer_list support