namespace DefaultPluck { class Widget { } class AssembledWidget { } type PluckFunction = ( widgets : Widget [ ] ) => Widget [ ] ; function pluckAll ( widgets ) { return widgets ; } function assembleWidgets ( pluck = pluckAll ) { return [ ] ; } }