technique for building complex search patterns on lists, files or whatever is to build function combining functions