@classmethod
def arrow_cl(cls, arrow1, arrow2):
    """Left to Right arrow composition

        This expressions means: maybe cast the string as an int, then
        maybe add 1

        >>> from fp.monads.maybe import Maybe, Just
        >>> from fp import p
        >>> maybe_int = p(Maybe.catch, int)
        >>> string_to_plus = Maybe.arrow_cl(maybe_int, lambda x: Just(x+1))
        >>> string_to_plus("1")
        Just(2)

        >>> string_to_plus("a")
        Nothing
        """
    return lambda x: arrow1(x).bind(arrow2)
