Disallow statements between overloads

Ensure that overloads are consecutive when checking functions.
this fixes #75 and #92 
Doesn't make a difference, but my preference is

```TypeScript
if (c === node {
    seen = true;
}
```