The Second Coming of the Rabbit Overhaul

Moves to using `::` syntax for statements, where statements are just
normal functions.