pickAll chooser gadgets
Gadget -> bool * 'a option
Gadget[]
(Gadget * 'a) list
sort gadgets
('a * Gadget)[]
tryFind
('a -> bool) -> 'a[] -> 'a option