SOURCE_FILE
  TYPE_ALIAS
    TYPE_KW "type"
    WHITESPACE " "
    NAME
      IDENT "F"
    WHITESPACE " "
    EQ "="
    WHITESPACE " "
    PATH_TYPE
      PATH
        PATH_SEGMENT
          NAME_REF
            IDENT "Box"
          GENERIC_ARG_LIST
            L_ANGLE "<"
            TYPE_ARG
              PATH_TYPE
                PATH
                  PATH_SEGMENT
                    NAME_REF
                      IDENT "Fn"
                    PARENTHESIZED_ARG_LIST
                      L_PAREN "("
                      TYPE_ARG
                        PATH_TYPE
                          PATH
                            PATH_SEGMENT
                              NAME_REF
                                IDENT "i32"
                      R_PAREN ")"
                    WHITESPACE " "
                    RET_TYPE
                      THIN_ARROW "->"
                      WHITESPACE " "
                      TUPLE_TYPE
                        L_PAREN "("
                        R_PAREN ")"
            R_ANGLE ">"
    SEMICOLON ";"
  WHITESPACE "\n"
  TYPE_ALIAS
    TYPE_KW "type"
    WHITESPACE " "
    NAME
      IDENT "F"
    WHITESPACE " "
    EQ "="
    WHITESPACE " "
    PATH_TYPE
      PATH
        PATH_SEGMENT
          NAME_REF
            IDENT "Box"
          GENERIC_ARG_LIST
            L_ANGLE "<"
            TYPE_ARG
              PATH_TYPE
                PATH
                  PATH_SEGMENT
                    COLON2 "::"
                    NAME_REF
                      IDENT "Fn"
                    PARENTHESIZED_ARG_LIST
                      L_PAREN "("
                      TYPE_ARG
                        PATH_TYPE
                          PATH
                            PATH_SEGMENT
                              NAME_REF
                                IDENT "i32"
                      R_PAREN ")"
                    WHITESPACE " "
                    RET_TYPE
                      THIN_ARROW "->"
                      WHITESPACE " "
                      TUPLE_TYPE
                        L_PAREN "("
                        R_PAREN ")"
            R_ANGLE ">"
    SEMICOLON ";"
  WHITESPACE "\n"
  TYPE_ALIAS
    TYPE_KW "type"
    WHITESPACE " "
    NAME
      IDENT "F"
    WHITESPACE " "
    EQ "="
    WHITESPACE " "
    PATH_TYPE
      PATH
        PATH_SEGMENT
          NAME_REF
            IDENT "Box"
          GENERIC_ARG_LIST
            L_ANGLE "<"
            TYPE_ARG
              PATH_TYPE
                PATH
                  PATH_SEGMENT
                    NAME_REF
                      IDENT "Fn"
                    PARENTHESIZED_ARG_LIST
                      COLON2 "::"
                      L_PAREN "("
                      TYPE_ARG
                        PATH_TYPE
                          PATH
                            PATH_SEGMENT
                              NAME_REF
                                IDENT "i32"
                      R_PAREN ")"
                    WHITESPACE " "
                    RET_TYPE
                      THIN_ARROW "->"
                      WHITESPACE " "
                      TUPLE_TYPE
                        L_PAREN "("
                        R_PAREN ")"
            R_ANGLE ">"
    SEMICOLON ";"
  WHITESPACE "\n"
  TYPE_ALIAS
    TYPE_KW "type"
    WHITESPACE " "
    NAME
      IDENT "F"
    WHITESPACE " "
    EQ "="
    WHITESPACE " "
    PATH_TYPE
      PATH
        PATH_SEGMENT
          NAME_REF
            IDENT "Box"
          GENERIC_ARG_LIST
            L_ANGLE "<"
            TYPE_ARG
              PATH_TYPE
                PATH
                  PATH_SEGMENT
                    COLON2 "::"
                    NAME_REF
                      IDENT "Fn"
                    PARENTHESIZED_ARG_LIST
                      COLON2 "::"
                      L_PAREN "("
                      TYPE_ARG
                        PATH_TYPE
                          PATH
                            PATH_SEGMENT
                              NAME_REF
                                IDENT "i32"
                      R_PAREN ")"
                    WHITESPACE " "
                    RET_TYPE
                      THIN_ARROW "->"
                      WHITESPACE " "
                      TUPLE_TYPE
                        L_PAREN "("
                        R_PAREN ")"
            R_ANGLE ">"
    SEMICOLON ";"
  WHITESPACE "\n"
