remove explicit splat for mixed scalar/simd operations
make elementwise_<Tag> try to splat all scalars before calling map + make map cast scalars to type with the right size
fix mpl hierarchy, shouldn't keep const
assert that type in native is not a reference or const qualified