safe letrecs to avoid compiling too many undefined checks
forgot shadows
bootstrap with safe-letrec optimization