commonly used in comp sci, unfinished by reusable designs for commonly occurring problem types, may represent good practises, help us identify the correct form of a query
are good solutions to common problems, derived from successful and accepted design solutions
finds variables that are out of scope and destroys them, freeing the memory used by them.