// return a list of the fields in a tuple. let fields = module{ tpl = NULL, } => { let reducer = macro(acc, field, value) => acc + [field]; let result = reduce reducer [], (mod.tpl); }; // return a list of the values in a tuple. let values = module{ tpl = NULL, } => { let reducer = macro(acc, field, value) => acc + [value]; let result = reduce reducer [], (mod.tpl); }; let iter = module{ tpl = NULL, } => { let reducer = macro(acc, field, value) => acc + [[field, value]]; let result = reduce reducer [], (mod.tpl); }; let strip_nulls = module{ tpl = NULL, } => { let filterer = macro(name, value) => value != NULL; let result = filter filterer (mod.tpl); };