SOURCE_FILE@[0; 96)
  TRAIT_DEF@[0; 36)
    TRAIT_KW@[0; 5) "trait"
    WHITESPACE@[5; 6) " "
    NAME@[6; 14)
      IDENT@[6; 14) "Runnable"
    WHITESPACE@[14; 15) " "
    ITEM_LIST@[15; 36)
      L_CURLY@[15; 16) "{"
      WHITESPACE@[16; 21) "\n    "
      FN_DEF@[21; 34)
        FN_KW@[21; 23) "fn"
        WHITESPACE@[23; 24) " "
        NAME@[24; 31)
          IDENT@[24; 31) "handler"
        PARAM_LIST@[31; 33)
          L_PAREN@[31; 32) "("
          R_PAREN@[32; 33) ")"
        SEMI@[33; 34) ";"
      WHITESPACE@[34; 35) "\n"
      R_CURLY@[35; 36) "}"
  WHITESPACE@[36; 38) "\n\n"
  TRAIT_DEF@[38; 95)
    TRAIT_KW@[38; 43) "trait"
    WHITESPACE@[43; 44) " "
    NAME@[44; 57)
      IDENT@[44; 57) "TraitWithExpr"
    WHITESPACE@[57; 58) " "
    ITEM_LIST@[58; 95)
      L_CURLY@[58; 59) "{"
      WHITESPACE@[59; 64) "\n    "
      FN_DEF@[64; 93)
        FN_KW@[64; 66) "fn"
        WHITESPACE@[66; 67) " "
        NAME@[67; 79)
          IDENT@[67; 79) "fn_with_expr"
        PARAM_LIST@[79; 92)
          L_PAREN@[79; 80) "("
          PARAM@[80; 91)
            BIND_PAT@[80; 81)
              NAME@[80; 81)
                IDENT@[80; 81) "x"
            COLON@[81; 82) ":"
            WHITESPACE@[82; 83) " "
            ARRAY_TYPE@[83; 91)
              L_BRACK@[83; 84) "["
              PATH_TYPE@[84; 87)
                PATH@[84; 87)
                  PATH_SEGMENT@[84; 87)
                    NAME_REF@[84; 87)
                      IDENT@[84; 87) "i32"
              SEMI@[87; 88) ";"
              WHITESPACE@[88; 89) " "
              LITERAL@[89; 90)
                INT_NUMBER@[89; 90) "1"
              R_BRACK@[90; 91) "]"
          R_PAREN@[91; 92) ")"
        SEMI@[92; 93) ";"
      WHITESPACE@[93; 94) "\n"
      R_CURLY@[94; 95) "}"
  WHITESPACE@[95; 96) "\n"