The essential difference between pure and impure pipes in Angular and why