Metaprogramming for generalists

Ruby