Well, there is a difference. If you use Nil, then the variable or function is deleted, if you use = {}, then it is not deleted, it simply has no code inside. So, if something checks the existance of a function to call it, with Nil it will detect the function doesnt exist and will do nothing, with {} the function exists, so the calling process might try to execute it and the results will never be the expected ones.