<commit_before>"A wrapper class that exposes any [[List]] as unmodifiable, 
 hiding the underlying `List` implementation from clients, 
 and preventing attempts to narrow to [[MutableList]]."
by ("<NAME>")
class UnmodifiableList<out Element>(List<Element> list) 
        satisfies List<Element> {

    getFromFirst(Integer index) => list.getFromFirst(index);
    
    size => list.size;
    lastIndex => list.lastIndex;
    
    first => list.first;
    rest => list.rest;
    
    iterator() => list.iterator();
    
    reversed => list.reversed;
    
    measure(Integer from, Integer length)
            => list.measure(from, length);
    span(Integer from, Integer to)
            => list.span(from, to);
    spanFrom(Integer from)
            => list.spanFrom(from);
    spanTo(Integer to)
            => list.spanTo(to);
    
    equals(Object that) 
            => list.equals(that);
    hash => list.hash;
    
    clone() => UnmodifiableList(list.clone());<commit_msg>fix #331<commit_after>"A wrapper class that exposes any [[List]] as unmodifiable, 
 hiding the underlying `List` implementation from clients, 
 and preventing attempts to narrow to [[MutableList]]."
by ("<NAME>")
class UnmodifiableList<out Element>(List<Element> list) 
        satisfies List<Element> {

    getFromFirst(Integer index) => list.getFromFirst(index);
    
    size => list.size;
    lastIndex => list.lastIndex;
    
    first => list.first;
    rest => UnmodifiableList(list.rest);
    
    iterator() => list.iterator();
    
    reversed => UnmodifiableList(list.reversed);
    
    measure(Integer from, Integer length)
            => list.measure(from, length);
    span(Integer from, Integer to)
            => list.span(from, to);
    spanFrom(Integer from)
            => list.spanFrom(from);
    spanTo(Integer to)
            => list.spanTo(to);
    
    equals(Object that) 
            => list.equals(that);
    hash => list.hash;
    
    clone() => UnmodifiableList(list.clone());
{'fraction_non_alphanumeric': 0.1303472571716155, 'fraction_numerical': 0.001509813789632612, 'mean_word_length': 2.7228464419475658, 'pattern_counts': {'":': 0, '<': 11, '<?xml version=': 0, '>': 39, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '3514038', 'n_tokens_mistral': 583, 'n_tokens_neox': 570, 'n_words': 142}