What your source code looks like when you can’t pass functions around (i.e., without higher-order functions)
I initially thought you couldn’t pass functions around in Dart (you can!), so I had to remember what we used to have to do with interfaces and inheritance. (See the image.)
Put another way, when you have the ability to pass functions into functions, it eliminates this kind of code interface/inheritance code.