T8119 make lazy list constructor flexible