racket
immutability
tail recursion
accumulators
functional programming
recursion
mergesort
lambdas
closure