There are two problems in master right now: 
1. generating URLs with brackets around GET parameter values (which this commit fixes);
2. losing some information about GET parameters that are associated with multiple values.
 
I propose to open a different bug for the second problem as it is significant and unrelated to the profile page. 

I would also add the following test to address the issue:
``` python
    def test_repeats(self):
        """
        GET parameters with multiple values should have all their
        values preserved
        """
        request = Mock(GET=QueryDict('foo=bar&baz=5&foo=ok'))
        url = urlparse.urlsplit(page_url(request, 4))
        args = urlparse.parse_qs(url.query)
        eq_(args, {'foo': ['bar', 'ok'], 'baz': ['5'], 'page': ['4']})
```