Construct lists procedurally without temporary variables