diff --git a/boltons/urlutils.py b/boltons/urlutils.py
index 6016e8a..7462ed4 100644
--- a/boltons/urlutils.py
+++ b/boltons/urlutils.py
@@ -685,7 +685,8 @@ class URL(object):
             if dest.path.startswith(u'/'):   # absolute path
                 new_path_parts = list(dest.path_parts)
             else:  # relative path
-                new_path_parts = self.path_parts[:-1] + dest.path_parts
+                new_path_parts = list(self.path_parts[:-1]) \
+                               + list(dest.path_parts)
         else:
             new_path_parts = list(self.path_parts)
             if not query_params:

diff --git a/tests/test_urlutils.py b/tests/test_urlutils.py
index a8e1539..2351899 100644
--- a/tests/test_urlutils.py
+++ b/tests/test_urlutils.py
@@ -313,6 +313,25 @@ def test_navigate():
     assert navd.to_text() == _dest_text
 
 
+@pytest.mark.parametrize(
+    ('expected', 'base', 'paths'), [
+    ('https://host/b', 'https://host', ('a', '/b', )),
+    ('https://host/b', 'https://host', ('a', 'b', )),
+    ('https://host/a/b', 'https://host', ('a/', 'b', )),
+    ('https://host/b', 'https://host', ('/a', 'b', )),
+    ('https://host/a/b', 'https://host/a/', (None, 'b', )),
+    ('https://host/b', 'https://host/a', (None, 'b', )),
+])
+def test_chained_navigate(expected, base, paths):
+    """Chained :meth:`navigate` calls produces correct results."""
+    url = URL(base)
+
+    for path in paths:
+        url = url.navigate(path)
+
+    assert expected == url.to_text()
+
+
 # TODO: RFC3986 6.2.3 (not just for query add, either)
 # def test_add_query():
 #     url = URL('http://www.example.com')

URL.navigate fails with path in base URL
The following and several permutations fail attempting to concatenate a `tuple` with a `list`:

```
URL('http://localhost').navigate('a').navigate('b')
```
Result:

```
...
            else:  # relative path
>               new_path_parts = list(self.path_parts[:-1]) + dest.path_parts
E               TypeError: can only concatenate list (not "tuple") to list

boltons/urlutils.py:657: TypeError
```

I am a little unclear about exactly what *should* happen when 'a' has a trailing slash or not, but enough cases fail that I know *something* is wrong.
I will follow shortly with a PR with a number of test cases, some of which I know are wrong, so I am hoping I can get some clarification about what the correct behavior *should* be.

This is not strictly an issue with chaining the `navigate` calls, but rather ambiguity of what should happen with the base URL lacks a trailing '/' and failures that result from that.

Env data:
platform darwin
Python 3.6.5 (built w/pyenv)
pytest-3.5.1
tests/test_urlutils.py::test_chained_navigate[https://host/b-https://host-paths1] tests/test_urlutils.py::test_chained_navigate[https://host/a/b-https://host-paths2] tests/test_urlutils.py::test_chained_navigate[https://host/b-https://host-paths3] tests/test_urlutils.py::test_chained_navigate[https://host/a/b-https://host/a/-paths4] tests/test_urlutils.py::test_chained_navigate[https://host/b-https://host/a-paths5]
tests/test_urlutils.py::test_regex[http://googlewebsite.com/e-shops.aspx] tests/test_urlutils.py::test_roundtrip[http://googlewebsite.com/e-shops.aspx] tests/test_urlutils.py::test_query_params[http://googlewebsite.com/e-shops.aspx] tests/test_urlutils.py::test_regex[http://example.com:8080/search?q=123&business=Nothing%20Special] tests/test_urlutils.py::test_roundtrip[http://example.com:8080/search?q=123&business=Nothing%20Special] tests/test_urlutils.py::test_query_params[http://example.com:8080/search?q=123&business=Nothing%20Special] tests/test_urlutils.py::test_regex[http://hatnote.com:9000?arg=1&arg=2&arg=3] tests/test_urlutils.py::test_roundtrip[http://hatnote.com:9000?arg=1&arg=2&arg=3] tests/test_urlutils.py::test_query_params[http://hatnote.com:9000?arg=1&arg=2&arg=3] tests/test_urlutils.py::test_regex[https://xn--bcher-kva.ch] tests/test_urlutils.py::test_roundtrip[https://xn--bcher-kva.ch] tests/test_urlutils.py::test_query_params[https://xn--bcher-kva.ch] tests/test_urlutils.py::test_regex[http://xn--ggbla1c4e.xn--ngbc5azd/] tests/test_urlutils.py::test_roundtrip[http://xn--ggbla1c4e.xn--ngbc5azd/] tests/test_urlutils.py::test_query_params[http://xn--ggbla1c4e.xn--ngbc5azd/] tests/test_urlutils.py::test_regex[http://tools.ietf.org/html/rfc3986#section-3.4] tests/test_urlutils.py::test_roundtrip[http://tools.ietf.org/html/rfc3986#section-3.4] tests/test_urlutils.py::test_query_params[http://tools.ietf.org/html/rfc3986#section-3.4] tests/test_urlutils.py::test_regex[http://wiki:pedia@hatnote.com] tests/test_urlutils.py::test_roundtrip[http://wiki:pedia@hatnote.com] tests/test_urlutils.py::test_query_params[http://wiki:pedia@hatnote.com] tests/test_urlutils.py::test_regex[ftp://ftp.rfc-editor.org/in-notes/tar/RFCs0001-0500.tar.gz] tests/test_urlutils.py::test_roundtrip[ftp://ftp.rfc-editor.org/in-notes/tar/RFCs0001-0500.tar.gz] tests/test_urlutils.py::test_query_params[ftp://ftp.rfc-editor.org/in-notes/tar/RFCs0001-0500.tar.gz] tests/test_urlutils.py::test_regex[http://[1080:0:0:0:8:800:200C:417A]/index.html] tests/test_urlutils.py::test_roundtrip[http://[1080:0:0:0:8:800:200C:417A]/index.html] tests/test_urlutils.py::test_query_params[http://[1080:0:0:0:8:800:200C:417A]/index.html] tests/test_urlutils.py::test_regex[ssh://192.0.2.16:2222/] tests/test_urlutils.py::test_roundtrip[ssh://192.0.2.16:2222/] tests/test_urlutils.py::test_query_params[ssh://192.0.2.16:2222/] tests/test_urlutils.py::test_regex[https://[::101.45.75.219]:80/?hi=bye] tests/test_urlutils.py::test_roundtrip[https://[::101.45.75.219]:80/?hi=bye] tests/test_urlutils.py::test_query_params[https://[::101.45.75.219]:80/?hi=bye] tests/test_urlutils.py::test_regex[ldap://[::192.9.5.5]/dc=example,dc=com??sub?(sn=Jensen)] tests/test_urlutils.py::test_roundtrip[ldap://[::192.9.5.5]/dc=example,dc=com??sub?(sn=Jensen)] tests/test_urlutils.py::test_query_params[ldap://[::192.9.5.5]/dc=example,dc=com??sub?(sn=Jensen)] tests/test_urlutils.py::test_regex[mailto:me@example.com?to=me@example.com&body=hi%20http://wikipedia.org] tests/test_urlutils.py::test_roundtrip[mailto:me@example.com?to=me@example.com&body=hi%20http://wikipedia.org] tests/test_urlutils.py::test_query_params[mailto:me@example.com?to=me@example.com&body=hi%20http://wikipedia.org] tests/test_urlutils.py::test_regex[news:alt.rec.motorcycle] tests/test_urlutils.py::test_roundtrip[news:alt.rec.motorcycle] tests/test_urlutils.py::test_query_params[news:alt.rec.motorcycle] tests/test_urlutils.py::test_regex[tel:+1-800-867-5309] tests/test_urlutils.py::test_roundtrip[tel:+1-800-867-5309] tests/test_urlutils.py::test_query_params[tel:+1-800-867-5309] tests/test_urlutils.py::test_regex[urn:oasis:member:A00024:x] tests/test_urlutils.py::test_roundtrip[urn:oasis:member:A00024:x] tests/test_urlutils.py::test_query_params[urn:oasis:member:A00024:x] tests/test_urlutils.py::test_regex[magnet:?xt=urn:btih:1a42b9e04e122b97a5254e3df77ab3c4b7da725f&dn=Puppy%20Linux%20precise-5.7.1.iso&tr=udp://tracker.openbittorrent.com:80&tr=udp://tracker.publicbt.com:80&tr=udp://tracker.istole.it:6969&tr=udp://tracker.ccc.de:80&tr=udp://open.demonii.com:1337] tests/test_urlutils.py::test_roundtrip[magnet:?xt=urn:btih:1a42b9e04e122b97a5254e3df77ab3c4b7da725f&dn=Puppy%20Linux%20precise-5.7.1.iso&tr=udp://tracker.openbittorrent.com:80&tr=udp://tracker.publicbt.com:80&tr=udp://tracker.istole.it:6969&tr=udp://tracker.ccc.de:80&tr=udp://open.demonii.com:1337] tests/test_urlutils.py::test_query_params[magnet:?xt=urn:btih:1a42b9e04e122b97a5254e3df77ab3c4b7da725f&dn=Puppy%20Linux%20precise-5.7.1.iso&tr=udp://tracker.openbittorrent.com:80&tr=udp://tracker.publicbt.com:80&tr=udp://tracker.istole.it:6969&tr=udp://tracker.ccc.de:80&tr=udp://open.demonii.com:1337] tests/test_urlutils.py::test_regex[http://localhost] tests/test_urlutils.py::test_roundtrip[http://localhost] tests/test_urlutils.py::test_query_params[http://localhost] tests/test_urlutils.py::test_regex[http://localhost/] tests/test_urlutils.py::test_roundtrip[http://localhost/] tests/test_urlutils.py::test_query_params[http://localhost/] tests/test_urlutils.py::test_regex[http://localhost/foo] tests/test_urlutils.py::test_roundtrip[http://localhost/foo] tests/test_urlutils.py::test_query_params[http://localhost/foo] tests/test_urlutils.py::test_regex[http://localhost/foo/] tests/test_urlutils.py::test_roundtrip[http://localhost/foo/] tests/test_urlutils.py::test_query_params[http://localhost/foo/] tests/test_urlutils.py::test_regex[http://localhost/foo!!bar/] tests/test_urlutils.py::test_roundtrip[http://localhost/foo!!bar/] tests/test_urlutils.py::test_query_params[http://localhost/foo!!bar/] tests/test_urlutils.py::test_regex[http://localhost/foo%20bar/] tests/test_urlutils.py::test_roundtrip[http://localhost/foo%20bar/] tests/test_urlutils.py::test_query_params[http://localhost/foo%20bar/] tests/test_urlutils.py::test_regex[http://localhost/foo%2Fbar/] tests/test_urlutils.py::test_roundtrip[http://localhost/foo%2Fbar/] tests/test_urlutils.py::test_query_params[http://localhost/foo%2Fbar/] tests/test_urlutils.py::test_regex[http://localhost/foo?n] tests/test_urlutils.py::test_roundtrip[http://localhost/foo?n] tests/test_urlutils.py::test_query_params[http://localhost/foo?n] tests/test_urlutils.py::test_regex[http://localhost/foo?n=v] tests/test_urlutils.py::test_roundtrip[http://localhost/foo?n=v] tests/test_urlutils.py::test_query_params[http://localhost/foo?n=v] tests/test_urlutils.py::test_regex[http://localhost/foo?n=/a/b] tests/test_urlutils.py::test_roundtrip[http://localhost/foo?n=/a/b] tests/test_urlutils.py::test_query_params[http://localhost/foo?n=/a/b] tests/test_urlutils.py::test_regex[http://example.com/foo!@$bar?b!@z=123] tests/test_urlutils.py::test_roundtrip[http://example.com/foo!@$bar?b!@z=123] tests/test_urlutils.py::test_query_params[http://example.com/foo!@$bar?b!@z=123] tests/test_urlutils.py::test_regex[http://localhost/asd?a=asd%20sdf/345] tests/test_urlutils.py::test_roundtrip[http://localhost/asd?a=asd%20sdf/345] tests/test_urlutils.py::test_query_params[http://localhost/asd?a=asd%20sdf/345] tests/test_urlutils.py::test_regex[http://(%2525)/(%2525)?(%2525)&(%2525)=(%2525)#(%2525)] tests/test_urlutils.py::test_roundtrip[http://(%2525)/(%2525)?(%2525)&(%2525)=(%2525)#(%2525)] tests/test_urlutils.py::test_query_params[http://(%2525)/(%2525)?(%2525)&(%2525)=(%2525)#(%2525)] tests/test_urlutils.py::test_regex[http://(%C3%A9)/(%C3%A9)?(%C3%A9)&(%C3%A9)=(%C3%A9)#(%C3%A9)] tests/test_urlutils.py::test_roundtrip[http://(%C3%A9)/(%C3%A9)?(%C3%A9)&(%C3%A9)=(%C3%A9)#(%C3%A9)] tests/test_urlutils.py::test_query_params[http://(%C3%A9)/(%C3%A9)?(%C3%A9)&(%C3%A9)=(%C3%A9)#(%C3%A9)] tests/test_urlutils.py::test_basic tests/test_urlutils.py::test_utf8_url tests/test_urlutils.py::test_idna tests/test_urlutils.py::test_iri_query tests/test_urlutils.py::test_iri_path tests/test_urlutils.py::test_url_copy tests/test_urlutils.py::test_invalid_port tests/test_urlutils.py::test_invalid_ipv6 tests/test_urlutils.py::test_parse_url tests/test_urlutils.py::test_parse_equals_in_qp_value tests/test_urlutils.py::test_identical_equal tests/test_urlutils.py::test_equal tests/test_urlutils.py::test_not_equal tests/test_urlutils.py::test_userinfo tests/test_urlutils.py::test_quoted_userinfo tests/test_urlutils.py::test_mailto tests/test_urlutils.py::test_rel_navigate tests/test_urlutils.py::test_navigate tests/test_urlutils.py::test_chained_navigate[https://host/b-https://host-paths0] tests/test_urlutils.py::test_self_normalize tests/test_urlutils.py::test_normalize_with_case tests/test_urlutils.py::test_netloc_slashes tests/test_urlutils.py::test_find_all_links_basic tests/test_urlutils.py::test_find_all_links tests/test_urlutils.py::test_unicodey tests/test_urlutils.py::test_str_repr