'Returns the length of a morphism.  The length of a morphism is
the number of components it consists of.  A non-composite
morphism is of length 1.'

@staticmethod
def _morphism_length(morphism):

    if isinstance(morphism, CompositeMorphism):
        return len(morphism.components)
    else:
        return 1
