retool range specifier to use std::vector, maintain existing api