Came across two years ago. A variation of Scheme which use list (by its very nature, very nested, much like most functional language) to accomplish everything and quite hard to understand sometimes. Arrays are non-existent, typical variables(still arguable and mostly required to be carried to the next irritation via a function variable or to a helper function) can only exist in small blocks, though it is great for teaching Mathematical logic. However, Decimals are not binary, all fractions are expressed properly and numerical sizes can go on indefinitely (there is definitely a proper term for 10-based, infinite accuracy numerical expression). It can also be used to define new languages and possibly did a better job than c++ (seriously some people made a c99 interpreter with Racket. I am not aware of a c++ one, but c++ is more complex than c anyway). Contracts, much like python, are only for documentation and you need to debug yourself when you input wrong type of data.