What is the use of ConstantStruct without a type ?
This one already exists, it makes the type from the arguments. We don't
have the matching array version though.
One suggestion, while you're here, add methods that use SmallVector
(IMO removing methods that use std::vector is a good idea).
Okay. Add seems like a safe start, remove is more volatile.