Redefine the taggedSum prototype constructor

- Point the taggedSum prototype constructor to the right constructor.
- Instanceof equality checks.

This allows the taggedSum instance to be created from the prototype constructor.

```javascript
var a = List.Cons(1, List.Nil);
var b = a.constructor(2, List.Nil);
```