@RoryAlsop I assume you knew because mod and stuff, but I would expect there to be an announcement. Don't know why he left so I can't be sure if there should be one... Ah well. He was a good CM. I think.
The money quote: "Toddlers with just a few toys were more creative and focus than tots with more choices,...". If find a similar effect in teaching programming to novices. Teaching them a small but complete subset of a complex language is better than giving them lots of language features early on.
My early subset for Java is not a subset of C, but uses OO concepts instead, de-emphasizing variables but emphasizing polymorphism and composition of objects. Certainly it avoids arrays.
For me, arrays would come late in the first course (college level). But by then the students are already comfortable programming in a Turing Complete language and can think in terms of decomposition/composition.
Decompose the problem, compose the objects.
@BenI. Some people here get paid for their work. Most do not. The whole place could be sold to a nefarious character if it was judged to be profitable by the owners. There are a few such characters around.
If \xy.x represents true, and \xy.y represents false, then I have been told that (\b.b \xy.x \xy.y) is a not function, because the expression (\b.b \xy.x \xy.y) \xy.x results in \xy.y, and the expression (\b.b \xy.x \xy.y) \xy.y results in \xy.x.