In Matlab version 9.1, observe:
>> f = @(x)(1);
>> f = @(x)(f(x)+1)
f =
function_handle with value:
@(x)(f(x)+1)
>> f(5)
ans =
2
The oddity is: when f itself is displayed, the symbol 'f' appearing inside the display refers to an older version of f rather than the current version. Is there a way to see what is 'really' inside the function handle?