Articles about the design and implementation of programming languages
Some typecheckers understand dynamic type tests, thus avoiding downcasting.
Coroutines can either be stackless or stackful. The terminology is somewhat confusing.
When writing object-oriented code, you frequently want a constructor that takes in values and assigns them to object fields. Some languages reduce the repetition required for this.