Can you give a short gist of why they're bad and why should one move out of classes/new? What is the alternative?
function constructor(spec) {
let {member} = spec,
{other} = other_constructor(spec),
method = function () {
// accesses member, other, method, spec
};
return Object.freeze({
method,
other,
});
}