I'd prefer if you dropped the temporary result variable and just did "return RemoveDirectory(path);" directly.  Then you'll get a compiler error if another branch is added later that doesn't set result.