Recursive, errors, local, shadowing