Scope Guard

Cool new feature: scope guards. These ensure that your code will be run upon exit from scope.

function add(T a, b):
	scope exit:
		assert a less than b
	return a + b

There's also scope success and scope failure like in D. I've decided that this feature obviates the need for contract programming, so I've removed that feature.