ES6 flecha / equivalencia de function

Solo estoy cambiando mi código a ES6 y me encontré con un código donde la function de flecha no funcionaba y no estoy seguro de entender por qué. El código es de un complemento para que Hapi decore la interfaz de reply .

ES5:

 server.decorate('reply', 'test', function(schema, response) { return this.response(mask(schema, response)); }); 

ES6:

 server.decorate('reply', 'test', (schema, response) => { return this.response(mask(schema, response)); }); 

El E66 no funciona y arroja un error:

 Uncaught error: this.response is not a function 

¿Por qué es esto?

En este caso particular, la biblioteca está cambiando a lo que se refiere this dentro de la callback para decorate . Cuando se usan funciones de flecha ( => ), this es equivalente al del scope externo. Esto significa que básicamente estás atrapado usando la function para esto.