Start of language specs. Thanks to David "novalis" Turner for this code.