<commit_before>class Generics() {
    
    class Holder<X>(X x) {
        shared X held = x;
        X add(X x, X y) {
            return x + y;
        }
        Y noop<Y>(Y y) {
            return y;
        }
    }
    
    Holder<W> create<W>(W w) {
        return Holder<W>(w);
    }
    
    @type["Holder<String>"] Holder<String> hs;
    
    @type["Holder<String>"] Holder<String>("hello");
    @type["String"] Holder<String>("hello").x;
    
    @error Holder("hello");
    
    Holder<String> h1 = Holder<String>("hello");
    String hello = h1.held;
    String hw = h1.add("hello", "world");
    @error Natural en = h1.add(1,2);
    
    Holder<Natural> h2 = Holder<Natural>{ x = 0; };
    Natural zero = h2.held;
    Natural n = h2.add(1,2);
    @error String ehw = h2.add("hello", "world");
    
    @type["Float"] h2.noop<Float>(1.0);
    String s1 = h2.noop<String>("Hi!");
    @error String s2 = h2.noop("Hi!");
    
    @type["Holder<Natural>"] create<Natural>(3);
    Natural nn = create<Natural>(5).held;
    
    X op<X>(X arg) {
        return arg;
    }
    String hi = op<String>("Hi");
    @error String hi2 = op<X>("Hi");
    
    class C<X>() {
        X cop(X arg) {
            if (arg=="ERROR") {
                X nothing { return arg }
                return nothing;
            }
            else {
                return arg;
            }
        }
    }
    String hiback = C<String>().cop("Hi back!");
    
}<commit_msg>missing ;<commit_after>class Generics() {
    
    class Holder<X>(X x) {
        shared X held = x;
        X add(X x, X y) {
            return x + y;
        }
        Y noop<Y>(Y y) {
            return y;
        }
    }
    
    Holder<W> create<W>(W w) {
        return Holder<W>(w);
    }
    
    @type["Holder<String>"] Holder<String> hs;
    
    @type["Holder<String>"] Holder<String>("hello");
    @type["String"] Holder<String>("hello").x;
    
    @error Holder("hello");
    
    Holder<String> h1 = Holder<String>("hello");
    String hello = h1.held;
    String hw = h1.add("hello", "world");
    @error Natural en = h1.add(1,2);
    
    Holder<Natural> h2 = Holder<Natural>{ x = 0; };
    Natural zero = h2.held;
    Natural n = h2.add(1,2);
    @error String ehw = h2.add("hello", "world");
    
    @type["Float"] h2.noop<Float>(1.0);
    String s1 = h2.noop<String>("Hi!");
    @error String s2 = h2.noop("Hi!");
    
    @type["Holder<Natural>"] create<Natural>(3);
    Natural nn = create<Natural>(5).held;
    
    X op<X>(X arg) {
        return arg;
    }
    String hi = op<String>("Hi");
    @error String hi2 = op<X>("Hi");
    
    class C<X>() {
        X cop(X arg) {
            if (arg=="ERROR") {
                X nothing { return arg; }
                return nothing;
            }
            else {
                return arg;
            }
        }
    }
    String hiback = C<String>().cop("Hi back!");
    
}
{'fraction_non_alphanumeric': 0.17588457574716593, 'fraction_numerical': 0.01580212985228444, 'mean_word_length': 1.7523629489603025, 'pattern_counts': {'":': 0, '<': 51, '<?xml version=': 0, '>': 51, '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': '7030102', 'n_tokens_mistral': 1061, 'n_tokens_neox': 1011, 'n_words': 225}