rewrite maybeAddAll to be capable of recognising right same-ness