I asked Francisco about this and he said that we could probably do with without recursion using `find` or `dropWhile` on the list of providers, or something like that. What do you think? I don’t find this hard to read but it might be neater done that way.