pickF :: Pattern Int -> [Pattern a -> Pattern a] -> Pattern a -> Pattern a
chooses between a list of functions, using a pattern of integers
see also: squeeze, selectF, select