better constant propagation (dealing with hazards a little less conservatively)

voiding at calls and backward jumps

eliminate unused primitive calls like in
	(let ((unused (cons (f) (g)))) (h)) -> (begin (f) (g) (h))

construct closures as early as possible

eliminate constant loop variables

equal-up-to-alpha

deal with if-branches being equivalent

deal with if-branch being equiv. to condition (insise another condition)
