function method (f) {
  return function () {
    const args = [this].concat(Array.prototype.slice.call(arguments))
    return f.apply(null, args)
  }
}
// Create a `method` by taking an ordinary function and pre-applying `this` as its first agument.
Create a `method` by taking an ordinary function and pre-applying `this` as its first agument.
Create a ` method ` by taking an ordinary function and pre - applying ` this ` as its first agument .
function method (f) {
  return function () {
    const args = [this].concat(Array.prototype.slice.call(arguments))
    return f.apply(null, args)
  }
}
function method ( f ) { return function ( ) { const args = [ this ] . concat ( Array . prototype . slice . call ( arguments ) ) return f . apply ( null , args ) } }
Create a `method` by taking an ordinary function and pre-applying `this` as its first agument.
Create a ` method ` by taking an ordinary function and pre - applying ` this ` as its first agument .