def meets_after(epsilon=0):
    """Returns a function that computes whether a temporal interval ends at the
    same time as another interval starts (+/- epsilon).
    This is the inverse of the ``meets_before`` predicate; it checks whether
    the first interval starts when the second interval ends.

    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 absolute time difference between the start of the first interval and
    the end of the second interval is less than ``epsilon``.

    Args:
        epsilon: The maximum time difference between the start of the first
            interval and the end of the second interval.

    Returns:
        An output function that takes two temporal intervals and returns
        ``True`` if the first interval starts at the same time as the second
        interval ends.
    """
    return lambda intrvl1, intrvl2: abs(intrvl2['t2'] - intrvl1['t1']
        ) <= epsilon
