<div dir="ltr"><div class="gmail_extra"><div class="gmail_quote"><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex">ES5 introspection APIs are enough, and if you're mixing in from an ES6 class using old code, you face the same non-enumerable-methods surface that you would with a built-in class.</blockquote><div><br></div><div>True, and even more so, I like Andrea's point that mixing in getters and setters requires ES5 APIs anyway (i.e. Object.getOwnPropertyDescriptor).</div><div> </div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex"><span class="">
<blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex">
  It might be a pain to have to import a userland utility for such cases.<br>
</blockquote>
<br></span>
How so?</blockquote><div><br></div><div>Meaning simply that `Object.mixin` (or whatever it might be called, or syntax) seems like a standard API gap.  But I suppose it's a gap regardless of whether class methods are enumerable.</div><div><br></div></div></div></div>