To further our goal of educating software developers about
common errors, we forgo the breadth and complexity essential to
theoretical completeness in favor of practical language centered
on programming concepts that are approachable and meaningful