+
+ if (is_unpure_pure_container (val)) {
+ // Do cache, if the function ignores 'start' and 'end'
+ if (is_unchanging_unpure_pure_container (val))
+ return internal_get_property (sym);
+ else
+ return call_pure_function (val, scm_list_1 (self_scm ()), start, end);
+ }
+