Title: A methodology for transforming functional programs