Group source declarations by mark comments

Fixes #61. @segiddins anything you'd do differently?
not really, I just tried it and it's less understandable with just one less line of code.