Different in theme as table and page I am studying the pager_example in example module. 

When creating an render array, it first assign #theme as 'table'. But it assign the #theme as 'pager' just before returning.
What is the purpose of attach the pager theme ?
pager_example.module:

// Create a render array ($build) which will be themed as a table with a
// pager.
$build['pager_table'] = array(
  '#theme' =&gt; 'table',
  '#header' =&gt; $header,
  '#rows' =&gt; $rows,
  '#empty' =&gt; t('There are no date formats found in the db'),
);

// attach the pager theme
$build['pager_pager'] = array('#theme' =&gt; 'pager');  &lt;---- why need this ?
return $build[];


Then I remove the coding "$build['pager_pager'] = array('#theme' => 'pager');". The result is the same. 
When compare to tablesort_example.module, it don't have attach the pager theme before the return.
tablesort_example.module:

// build the table for the nice output.
$build['tablesort_table'] = array(
  '#theme' =&gt; 'table',
  '#header' =&gt; $header,
  '#rows' =&gt; $rows,
);

return $build;
The code $build['pager_pager'] = array('#theme' =&gt; 'pager'); returns the pager for the table.

The example module output with that line of code:



The example module output without that line of code:



If you are not seeing the same difference I am, it might be a cache issue, try clearing your cache between changes.