title: Difference between @Delegate, @Mixin and Traits in Groovy?
body: <p>Would someone explain when I would want to use <a href="http://beta.groovy-lang.org/docs/groovy-2.3.0-SNAPSHOT/html/documentation/core-traits.html" rel="noreferrer">Groovy Traits</a> vs. Mixins (@Mixin) vs. Delegates (@Delegate)? Maybe some trade-offs and design concerns would help.</p>
  
  <p>They all seem to allow for reusing multiple "classes" of behavior. Thanks. :-)</p>
  
  <p>This SO thread was helpful too: <a href="https://stackoverflow.com/questions/8527500/difference-between-delegate-and-mixin-ast-transformations-in-groovy">Difference between @Delegate and @Mixin AST transformations in Groovy</a></p>