<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<style type="text/css" style="display:none;"><!-- P {margin-top:0;margin-bottom:0;} --></style>
</head>
<body dir="ltr">
<div id="divtagdefaultwrapper" style="font-size:12pt;color:#000000;font-family:Calibri,Arial,Helvetica,sans-serif;">
<br>
<div>Not sure if I'm missing something, but wouldn't it be trivial to code that constructor in JS?<br>
<br>
```js<br>
class Result {<br>
  constructor (type, value=true) {<br>
    this[type] = value;<br>
  }<br>
}<br>
function add(data) {<br>
  if (data !== Object(data)) {<br>
    return new Result('error', new Error('The data is not an object.'));<br>
  }<br>
  return new Result('success');<br>
}<br>
console.log(add({}).success); // true<br>
console.log(add(12).error.message); // 'The data is not an object.'<br>
```</div>
<br>
</div>
</body>
</html>