title: Mobx-state-tree doesn't rerender on a new Map reference
body: <p>Quite new to mobx-state-tree. Whenever my model is changed so that a types.map gets a new reference, my component is not rerendered.
  In my example, changing a string on the model does trigger a rerender.
  I'm reading both of these properties inside the component I wish to rerender and have decorated it with <code>@observer</code>.</p>
  
  <p>Here's a Stackblitz example: <a href="https://stackblitz.com/edit/react-n54mud" rel="nofollow noreferrer">https://stackblitz.com/edit/react-n54mud</a></p>
  
  <p>Comment in line 37 to make it work. </p>
  
  <p>Model:</p>
  
  <pre><code>export const treeModel = types
      .model({
          tree: types.map(types.string),
      test: ''
      })
      .actions(self =&gt; ({
          setTree(tree) {
        self.tree = tree
      },
      setTest(data) {
        self.test = data;
      }
      }));
  </code></pre>
  
  <p>App</p>
  
  <pre><code>class App extends Component {
    treeStore;
  
    constructor() {
      super();
      this.state = {
        name: 'React'
      };
  
      this.treeStore = treeModel.create();
      this.treeStore.setTree(new Map());
      setTimeout(() =&gt; {
        this.treeStore.setTree(new Map());
        // Enabling this will retrigger the rendering of the Test comp
        //this.treeStore.setTest('azerty');
      }, 2000);
    }
  
    render() {
      return (
        &lt;div&gt;
          &lt;Hello name={this.state.name} /&gt;
          &lt;p&gt;
            Start editing to see some magic happen :)
          &lt;/p&gt;
          &lt;Test store={this.treeStore}&gt;&lt;/Test&gt;
        &lt;/div&gt;
      );
    }
  }
  </code></pre>
  
  <p>Test component</p>
  
  <pre><code>@observer
  class Test extends Component {
  
    constructor(props) {
      super(props);
    }
  
    render() {
        console.log('rendered');
        const {tree, test} = this.props.store;
        return &lt;div&gt;test&lt;/div&gt;
    }
  }
  </code></pre>