Homework assignment based on http://moscova.inria.fr/~maranget/enum/index.html