Merging params PostDate limits errors I'm attempting to merge in postDate restrictions based on the url segment. However I get twig errors with my code.

So for a link of domain.com/news/archive/2016 I want to see all entries with a postDate in 2016.

current code:

{% set params = { section: 'news', limit: 5 } %}

{# check for annual archive in the url #}
{% if craft.app.request.getSegment(2) == "archive" %}
    {% set year = craft.app.request.getSegment(3) %}

    {% set start = date( year ~ '-01-01') %} 
    {% set end = date( year ~ '-12-31') %}

    {% set params = params | merge({ 
      postDate(['and', "&gt;= " ~ start, "&lt; " ~ end])
     }) %}
{% endif %}
{# end check for annual archive #}


And the Error I get

A hash key must be followed by a colon (:). Unexpected token "punctuation" of value "(" ("punctuation" expected with value ":").


Also not working
I tried a couple of variations - this gets no errors, but also no entries are output

{% set params = { section: 'news', limit: 5 } %}

{# check for annual archive in the url #}
{% if craft.app.request.getSegment(2) == "archive" %}
    {% set year = craft.app.request.getSegment(3) %}

    {% set start = date( year ~ '-01-01') %} 
    {% set end = date( year ~ '-12-31') %}

    {% set params = params | merge({ 
      postDate: "['and', '&gt;= ' ~ start, '&lt; ' ~ end]",
     }) %}
{% endif %}
try:

{% set params = params | merge({
    postDate:['and', '&gt;= ' ~ start.date, '&lt; ' ~ end.date]
}) %}