But this way you don't track what you handled in type level it's only available in runtime. So you are back to untracked errors.