в таком случае, зачем в функции проверка "if (!l)", если "пользователь" должен сам инициализировать первое значение?