typedef void (*functionunary)(void *); typedef void *(*generator)(void); typedef bool (*predicatebinary)(void *, void *);