@mcc my suggestions for inclusion are Ada and/or SPARK, and I would like to offer the opinion that Scheme and Racket are different languages because no two Schemes are the same language, however you'd probably want to dive into the "unportable" features to keep it interesting.