In [1]: from libsemigroups_pybind11 import *
In [2]: s = Sims2(word=list[int])
In [3]: p = Presentation([0, 1])
In [4]: s.number_of_threads(1)
Out[4]: <Sims2 object over <semigroup presentation with 0 letters, 0 rules, and length 0> with 1 thread(s)>
In [5]: s.presentation(p)
Out[5]: <Sims2 object over <semigroup presentation with 2 letters, 0 rules, and length 0> with 1 thread(s)>
In [6]: sri = SimsRefinerIdeals(word=list[int])
In [7]: s.add_pruner(sri)
which hangs until killed. If sri is initialised with presentation p, then this works as expected. I'd have hoped that an exception would be raised if sri wasn't compatible with s.