SOURCE_FILE
  FN
    FN_KW "fn"
    WHITESPACE " "
    NAME
      IDENT "foo"
    GENERIC_PARAM_LIST
      L_ANGLE "<"
      TYPE_PARAM
        NAME
          IDENT "F"
        COLON ":"
        WHITESPACE " "
        TYPE_BOUND_LIST
          TYPE_BOUND
            PATH_TYPE
              PATH
                PATH_SEGMENT
                  NAME_REF
                    IDENT "FnMut"
                  PARAM_LIST
                    L_PAREN "("
                    PARAM
                      REF_TYPE
                        AMP "&"
                        MUT_KW "mut"
                        WHITESPACE " "
                        PATH_TYPE
                          PATH
                            PATH_SEGMENT
                              NAME_REF
                                IDENT "Foo"
                              GENERIC_ARG_LIST
                                L_ANGLE "<"
                                LIFETIME_ARG
                                  LIFETIME
                                    LIFETIME_IDENT "'a"
                                R_ANGLE ">"
                    R_PAREN ")"
      R_ANGLE ">"
    PARAM_LIST
      L_PAREN "("
      R_PAREN ")"
    BLOCK_EXPR
      STMT_LIST
        L_CURLY "{"
        R_CURLY "}"
  WHITESPACE "\n"
