Updated syntax and spacing
Add -Wall -Werror to the CMake build so that it matches the Makefile build
Fix -Werror build error
Updated widening logic for scalar case. Simplified Let variable naming.
Added code to detect cases where the vector expression argument of shuffle_vector must be scalarized