record res = list:fold (&_, items, (p_record -&w res, p_item _) {
                                                                  ...
                                                                });

int total = list:reduce (items, (int total, p_item _) {
                                                        return total + item->amount;
                                                      });
