Protect syntaxes es inside syntaxes in let_impl
Add is_same
Adding apply
Make bad_match lazy
Remove unnecessary usage of lazy