Currently using declare after def will override all the analyzer data of the def with the basically empty data of the declare
The effect is that the compiler will no longer emit the optimized invoke for foo
So instead of the desired
we end up with
Note that this always takes the "slow" path via .call since test.declare_after_def.foo.cljs$core$IFn$_invoke$arity$5 does not exist.