Use Core Erlang instead of abstract format

It's quite a lot more convenient, especially since it has let and
letrec forms.