A couple comments:
You need better names. f? _f? fun? which of those two are the same?
Have you tried it without the 'return_from' function?
It might be interesting to have this be a more general 'recurse' decorator.
You could have your own basic cache, and specify which methods you need for somebody to substitute in a different cache (which is a better option for all previous Pythons than making a change to 3.5).