Ethernet has been said to be a data-link layer protocol. It is true that Ethernet has data-link layer functions. However, it also has network-layer function, i.e., addressing. Therefore, if a network-layer protocol such as the internet protocol (IP) is used over Ethernet, the network-layer function is doubled. This causes protocol complexities, so I think this is a problem to be solved.
The function of the data-link layer in the OSI is connecting neighbor nodes. Addressing is not necessary for this connection; i.e., there is no need to include addresses of the sender and receiver in the frame.
However, an Ethernet frame contains such addresses. This enables communication between non neighbors using Ethernet. This function is similar to communication using IP.
About thirty years ago, there are big differences between IP and Etherent. When Ethernet was first designed, "repeaters" (or hubs), which simply amplituded signals, were used when communicating two distant hosts that cannot be connected by a single wire. But, now, an intelligent switch is used for such a purpose.
In addition, at that time, Ethernet could only connect hosts in short distance, usually within a building, so there was big difference from the Internet that connected world-wide hosts. However, now we can connect all-Japan hosts by Ethernet, although the number of nodes is limited, and it is not surprising even if world-wide hosts are connected by Ethernet.
Therefore, a false statement that Ethernet is a (pure) data-link layer protocol should be backed off. Furthermore, we should consider eliminating complexities, such as ARP / RARP mechanism, caused by doubled network-layer protocols, Ethernet and IP.