SOURCE_FILE
  TRAIT
    TRAIT_KW "trait"
    WHITESPACE " "
    NAME
      IDENT "Z"
    GENERIC_PARAM_LIST
      L_ANGLE "<"
      TYPE_PARAM
        NAME
          IDENT "U"
      R_ANGLE ">"
    WHITESPACE " "
    EQ "="
    WHITESPACE " "
    TYPE_BOUND_LIST
      TYPE_BOUND
        PATH_TYPE
          PATH
            PATH_SEGMENT
              NAME_REF
                IDENT "T"
              GENERIC_ARG_LIST
                L_ANGLE "<"
                TYPE_ARG
                  PATH_TYPE
                    PATH
                      PATH_SEGMENT
                        NAME_REF
                          IDENT "U"
                R_ANGLE ">"
    WHITESPACE " "
    WHERE_CLAUSE
      WHERE_KW "where"
      WHITESPACE " "
      WHERE_PRED
        PATH_TYPE
          PATH
            PATH_SEGMENT
              NAME_REF
                IDENT "U"
        COLON ":"
        WHITESPACE " "
        TYPE_BOUND_LIST
          TYPE_BOUND
            PATH_TYPE
              PATH
                PATH_SEGMENT
                  NAME_REF
                    IDENT "Copy"
    SEMICOLON ";"
  WHITESPACE "\n"
  TRAIT
    TRAIT_KW "trait"
    WHITESPACE " "
    NAME
      IDENT "Z"
    GENERIC_PARAM_LIST
      L_ANGLE "<"
      TYPE_PARAM
        NAME
          IDENT "U"
      R_ANGLE ">"
    WHITESPACE " "
    EQ "="
    WHITESPACE " "
    TYPE_BOUND_LIST
    WHERE_CLAUSE
      WHERE_KW "where"
      WHITESPACE " "
      WHERE_PRED
        PATH_TYPE
          PATH
            PATH_SEGMENT
              NAME_REF
                SELF_TYPE_KW "Self"
        COLON ":"
        WHITESPACE " "
        TYPE_BOUND_LIST
          TYPE_BOUND
            PATH_TYPE
              PATH
                PATH_SEGMENT
                  NAME_REF
                    IDENT "T"
                  GENERIC_ARG_LIST
                    L_ANGLE "<"
                    TYPE_ARG
                      PATH_TYPE
                        PATH
                          PATH_SEGMENT
                            NAME_REF
                              IDENT "U"
                    R_ANGLE ">"
    SEMICOLON ";"
  WHITESPACE "\n"
