- [Equivalence][equivalence]: the exercise relies on the `==` and `!=` operators to check that two values are equivalent (or not)
- [Order of Evaluation][order-of-evaluation]: the exercise relies on parentheses to explicitly modify the normal order of evaluation of an expression
- [Operator Precedence][operator-precedence]: the exercise is most simply stated when the student understands the operator precedence binding rules of Python
- [Short-Circuiting][short-circuiting]: the exercise relies on short-circuiting to avoid unnecessary calculations
- [Generics][generics]: the exercise is polymorphic across numerical types (ie int, float, Decimal)
- [Duck Typing][duck-typing]: the exercise supports any argument that supports modular division and comparison to integers (ie int, float, Decimal)