Desugared functions by hand

before I get to fix #114, which is pretty difficult.
Now:
 - hit upon #135, which I will fix asap
 - hit upon an unknown bug, which I will file as soon as I fix 1

Ping @biboudis.