Add let rec
Progress on cappl