ES6: Property name noodling
ES6: Math.hypot should avoid overflow