This MR fixes several issues with the integration pipeline.
Fixes an oversight introduced in !344 (merged). The issue was with expressions like:
a: scalar float = CastFunc(b: vector float, float)
The mentioned MR used
get_type_of_expressionto determine whether an expression will be vectorized. That works in most cases due to type collation but fails for
CastFuncs, which are always vectorized. This MR replaces
get_type_of_expressionby a small helper function that checks whether an expression is entirely scalar or requires additional vector casts.