facebook/immutable-js — pull request #227 by tgriesser (2014-12-04 18:51:41+00:00)
Title: Inherit from base stypes

Here's a first pass at making it possible to inherit from `Map`, `List`, `Set`, `OrderedMap`, etc.

Mostly putting this here for discussion, as there are probably a few ways to attack this one, but this seems to be working quite well in my preliminary use. It also has the benefit of eliminating `Object.create(MapPrototype)` in favor of `new Ctor`, which gives better inspection in the chrome console (and [potentially perf?](http://jsperf.com/obj-create-vs-new/4))

The inherited types must initially be constructed with `new`, and when inheriting via class style, it's necessary to return from the constructor:

```js
class User extends Immutable.Map {

constructor(value) {
return super(value)
}

fullName() {
return this.get('firstName') + ' ' + this.get('lastName');
}

}
```

If you think this looks good, I could beef up the tests a bit.