pub fn list_macro_shape( head: Symbol, tail: Vec<Arc<dyn Shape>>, ) -> Arc<dyn Shape>
Builds a list shape with a fixed head symbol followed by the given tail.