I believe I have found a bug in pyergo (I will try to get a MWE as soon as possible):
If I make a query to an all-solutions predicate that returns the empty list, then the binding I get back from pyergo is an ErgoSymbol whose value property is not bound to the empty list, it is bound to the string "[]" -- the string containing the open and closed bracket characters.
This makes the results of a query extremely hard to unpack correctly on the python side, since we cannot dispatch on the type of the value.
Any suggestions for a work-around?