A practical approach to programming with assertions | Synapse