Remove `ast::pure_fn` and all use of `pure`