Disallow statements between overloads

Ensure that overloads are consecutive when checking functions.
this fixes #75 and #92 
ok, makes sense. I'll change it to "Function implementation is missing or not immediately following the declaration"