<commit_before>my class IO::Path { ... }
my class IO::Special { ... }
my class Proc { ... }

my class IO::Handle {
    has $.path;
    has $!PIO;
    has $.chomp is rw is default(True);
    has $.nl-in is default(["\x0A", "\r\n"]);
    has Str:D $.nl-out is rw is default("\n");
    has Str $.encoding;
    has Encoding::Decoder $!decoder;
    has Encoding::Encoder $!encoder;

    submethod TWEAK (:$encoding, :$bin, IO() :$!path = Nil) {
        nqp::if(
          $bin,
          nqp::isconcrete($encoding) && X::IO::BinaryAndEncoding.new.throw,
          $!encoding = $encoding || 'utf8')<commit_msg>Revert "Use "is default" for IO::Handle atttributes"<commit_after>my class IO::Path { ... }
my class IO::Special { ... }
my class Proc { ... }

my class IO::Handle {
    has $.path;
    has $!PIO;
    has $.chomp is rw = Bool::True;
    has $.nl-in = ["\x0A", "\r\n"];
    has Str:D $.nl-out is rw = "\n";
    has Str $.encoding;
    has Encoding::Decoder $!decoder;
    has Encoding::Encoder $!encoder;

    submethod TWEAK (:$encoding, :$bin, IO() :$!path = Nil) {
        nqp::if(
          $bin,
          nqp::isconcrete($encoding) && X::IO::BinaryAndEncoding.new.throw,
          $!encoding = $encoding || 'utf8')
{'fraction_non_alphanumeric': 0.19705641864268192, 'fraction_numerical': 0.003270645952575634, 'mean_word_length': 2.5478260869565217, 'pattern_counts': {'":': 0, '<': 3, '<?xml version=': 0, '>': 3, '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': '5485807', 'n_tokens_mistral': 444, 'n_tokens_neox': 433, 'n_words': 116}