How eliminating problems can drastically simplify your codebases and life