implement let, use specialized combinators where applicable.

 - it is probably terribly and horribly broken