def overlaps_after():
    """Returns a function that computes whether a temporal interval has
    non-zero overlap with another interval, and starts after it.

    The output function expects two temporal intervals (dicts with keys 't1'
    and 't2' for the start and end times, respectively). It returns ``True`` if
    the first interval starts after the second interval, and the two intervals
    have a non-zero amount of overlap.

    Returns:
        An output function that takes two temporal intervals and returns
        ``True`` if the first interval starts after the second interval, and
        the two intervals have non-zero overlap.
    """
    return lambda intrvl1, intrvl2: intrvl1['t1'] > intrvl2['t1'] and intrvl1[
        't1'] < intrvl2['t2'] and intrvl1['t2'] > intrvl2['t2']
