0017 carmack on functional programming