Having spoken extensively to users of both Flow and TypeScript, these examples are entirely contrived because they're just demos. How often do you have a function that multiplies two numbers and returns it?
Examples are contrived because they are examples. There is no point in using 100-lines long "real-life" function. It will work the same way.
And, to be fair, I have to write functions like this fairly often: