73ddd644c1
Ensure that variables are not redefined within the same scope, both for global and function-local variables. This commit modifies the `define` method in `CompilerScope` to return a `Result` and includes checks for existing definitions. The `Binder`'s logic for handling global variables and function parameters is also updated to incorporate these new checks and return appropriate errors.