For the ICFP competition