In defense of JavaScript’s constructors