'Removes those morphisms which should appear in the diagram,
but which have no relevance to object layout.
Currently this removes "loop" morphisms: the non-identity
morphisms with the same domains and codomains.'

@staticmethod
def _drop_inessential_morphisms(merged_morphisms):

    morphisms = [m for m in merged_morphisms if (m.domain != m.codomain)]
    return morphisms
