Bug introduced in #832
In trying to fix one bug in #832, I inadvertently introduced another bug that somehow evaded all the tests.

This is caused by incorrect use of the walrus operator on [line 244 of base.py](https://github.com/dstl/Stone-Soup/blob/8c4fcf2c7a5fc2c3b777d1e9ff4c1f62bc8fb4e0/stonesoup/base.py#L244), meaning that the variable `excess` always takes a Boolean value (i.e. 0 or 1), therefore leading to inappropriate execution of the while loop for each character in `val`, which in turn led to scripts hanging.
 
diff --git a/stonesoup/base.py b/stonesoup/base.py
index e930a1b5..f68afa4f 100644
--- a/stonesoup/base.py
+++ b/stonesoup/base.py
@@ -241,7 +241,7 @@ class BaseRepr(Repr):
         """Remove excess whitespace, replacing with ellipses"""
         large_whitespace = ' ' * (maxlen_whitespace+1)
         fixed_whitespace = ' ' * maxlen_whitespace
-        while excess := val.find(large_whitespace) != -1:   # Find the excess whitespace, if any
+        while (excess := val.find(large_whitespace)) != -1:   # Find the excess whitespace, if any
             line_end = ''.join(val[excess:].partition('\\n')[1:])
             val = ''.join([val[0:excess], fixed_whitespace, '...', line_end])
         return val
['stonesoup/base.py']