import dis, sys
def return_value_used():
    frame = sys._getframe(2)
    code = frame.f_code.co_code[frame.f_lasti:]
    try:
        has_arg = ord(code[0]) >= dis.HAVE_ARGUMENT
        next_code = code[3 if has_arg else 1]
    except IndexError:
        return True
    return ord(next_code) != dis.opmap['POP_TOP']
def foo():
    if return_value_used():
        return 42
    print 'doom'
foo()
print foo()
--This outputs:
doom
42
Well that's... unholy.
(I'm also quite late to this party; Youtube video of the talk or the pdf)
