pub fn is_simd(&self) -> bool {
        use self::Type::*;
        match *self {
            Simd(_) | Builder(_, _) => true,
            Struct(ref fields) => fields.iter().all(|f| f.is_simd()),
            _ => false,
        }
    }
Returns whether this `Type` is a SIMD value.

A value is a SIMD value if its a `Simd` type or it is a `Struct` where each member is a
`Simd` type. We additionally consider each of the builders to be SIMD values, since they
can operate over SIMD values as inputs.
weld/src/ast/ast.rs