Disable names dynamically

names include:

top-level definition
function variable (currently only support lambda, need do more work for
function binding, and let && where clause)
call other function