title: Extension of essence in redux
body: <p>My state looks like this:</p>
  
  <pre><code>state = {
    entities: {
      users: {},
      articles: {},
    },
    pagination: {
      articlesByUser: {
        1: { // userId = 1
          isFetching: true,
          ids: [],
        },
        2: { // userId = 2
          isFetching: true,
          ids: [],
        },
      },
    },
  }
  </code></pre>
  
  <p>it's work fine for pages with lists, but the article models differ for the <code>index</code> route and <code>get</code> the route. </p>
  
  <p>Response on <code>index</code> route:</p>
  
  <pre><code>$ curl http://api//articles
  [{
    "id": 0,
    "user_id": 0,
    "title": "...",
    "short_description": "...",
    ...
  }
  ...
  ]
  </code></pre>
  
  <p>Response on <code>get</code> route:</p>
  
  <pre><code>$ curl http://api//articles/0
  {
    "id": 0,
    "user_id": 0,
    "title": "...",
    "body": "...",
    "meta": {...},
    "view_count": 100,
    ...
  }
  </code></pre>
  
  <p>Entities are different. <code>GetModel</code> request extend <code>IndexModel</code>. Therefore state of <code>pagination</code> reducer should looks like this:</p>
  
  <pre><code>pagination: {
    articlesByUser: {
      1: { // userId = 1
        isFetching: true,
        ids: [],
      },
      2: { // userId = 2
        isFetching: true,
        ids: [],
      },
      ...
    },
    articleByArticleId: {
      1: { // articleId = 1
        isFetching: true,
      },
      ...
    }
  },
  </code></pre>
  
  <p>How to better structure <code>pagination</code> reducer in this case for handle loading state (<code>isFetching = true</code>) for one and many of articles?</p>