14 Enhancing the builder pattern with closures the trainwreck/builder/chaining pattern can be dangerous and here's why programming closures groovy CSharp javascript java functional programming