Minimal example of something I encountered in a different project. There was a different way to get the error in the first example to disappear, but it caused type names to look weird. I'd remembered that arrow functions and function declarations are not one in the same, so I'd attempted changing that at random to see if it works.
It did, giving me exactly the narrowing / inference behavior that I had wanted, but I'm not too sure why this works: my original impression is that the two are equivalent enough in a type declaration such that these two shouldn't be differ in their results.
)
