<html><head><meta http-equiv="Content-Type" content="text/html charset=utf-8"></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;" class=""><br class=""><div><blockquote type="cite" class=""><div class=""><div style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;" class=""><div class="">That said, I’m finding it hard to think of examples that really need to be in the global scope, as your example seems to me like it still makes the most sense to be placed within the Matrix2x2 type like so:</div><div class=""><br class=""></div><div class=""><font face="Monaco" class=""><span class="Apple-tab-span" style="white-space:pre">        </span>func * (vector:Vector2) -> Vector2 { // self is matrix2x2 }</font></div><div class=""><br class=""></div><div class="">Since the left hand side is still the focal point of this operator. The only case I could think of that might still require a global operator would be one that can handle arguments of type Any.</div></div></div></blockquote></div><br class=""><div class="">Good point! I haven’t been exposed to that approach or thought of it. That might be the best way to handle things, even when operators are allowed to take more than one operand without resorting to passing them in as a tuple like we must now.</div></body></html>