It would be good to reduce, as much as possible, the dependencies required by the "core" modules (in ./unseen). When we run the tests in github Actions, we have to create the environment each time, so minimising the complexity of this environment is beneficial. E.g. general_utils contains import matplotlib as mpl. Is this really necessary, or shall we decide that plotting is beyond scope?