I think this example might supports the counter-position. I don’t think it is arbitrary. We put function signatures before implementations because the high-level idea is more important than low-level explanation. I often stop reading after the signature, it’s enough.
Likewise, we might choose to reference a function in a callsite before it’s been defined, because at a high-level, all you need to know is that this function exists and is being called here; you don’t need to know where it comes from or what it’s implementation is. Imports count as “where it comes from”, and so a secondary detail.
I personally have always felt strongly that function definitions should come before they are referenced and thought it was strange that Scala allows otherwise, but recently I feel compelled by the counter-argument I mentioned. I don’t think it’s obvious which side is correct. More experimentation needed to determine which results in easier comprehension (which we unfortunately cannot do if languages ban the choice)