Unfortunately, if `bottomUp` is overloaded to also take the partial function directly, then scala whinges about the unspecified type of the partial function wherever it's used.