<commit_before>my class Match is Capture is Cool does NQPMatchRole {
    my Mu $EMPTY_LIST := nqp::list();
    my Mu $NO_CAPS    := nqp::hash();
    my Mu $DID_MATCH  := nqp::create(NQPdidMATCH);

    method ast()  { nqp::if(nqp::isconcrete($!made),$!made,Nil) }
    method made() { nqp::if(nqp::isconcrete($!made),$!made,Nil) }

    method STR() {
        nqp::if(
          nqp::istype(nqp::getattr(self,Match,'$!match'), NQPdidMATCH),
          self.Str,
          self!MATCH.Str
        )
    }<commit_msg>Fix inability of `make`ing type objects<commit_after>my class Match is Capture is Cool does NQPMatchRole {
    my Mu $EMPTY_LIST := nqp::list();
    my Mu $NO_CAPS    := nqp::hash();
    my Mu $DID_MATCH  := nqp::create(NQPdidMATCH);

    # When nothing's `made`, we get an NQPMu that we'd like to replace
    # with Nil; all Rakudo objects typecheck as Mu, while NQPMu doesn't
    method ast()  { nqp::if(nqp::istype($!made, Mu),$!made,Nil) }
    method made() { nqp::if(nqp::istype($!made, Mu),$!made,Nil) }

    method STR() {
        nqp::if(
          nqp::istype(nqp::getattr(self,Match,'$!match'), NQPdidMATCH),
          self.Str,
          self!MATCH.Str
        )
    }
{'fraction_non_alphanumeric': 0.1665264928511354, 'fraction_numerical': 0.0, 'mean_word_length': 3.0338983050847457, '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': '5171148', 'n_tokens_mistral': 457, 'n_tokens_neox': 432, 'n_words': 98}