There has been much discussion about the best way to combine the benefits of new optical circuit switching technology with the established packet switched Internet. In this paper, we explore how electronic and/or optical circuit switching might be introduced in an evolutionary manner. Circuit switches have much simpler data paths, and being potentially must faster than packet switches. As a result, very high capacity all-optical circuit switches are feasible today (e.g. WDM, MEMs, and wavelength conversion systems), whereas all-optical packet switches are a long way from being commercially practical, because we still do not know how to buffer photons. Of course, the main disadvantage of circuit switching is that link capacity must be peak-allocated, eliminating the benefits of statistical multiplexing, leading to the inefficient use of links. It is a premise of this paper that link capacity is abundant and will become more so with time. The bottleneck in the Internet today is most often in the routers, not the links. There are other perceived disadvantages of circuit switching, which we consider. These include: (1) the amount of state maintained by switches, and its influence on network-wide fault tolerance, (2) the overhead of signaling, and (3) the difference in paradigm from the already successful packet switching used in the Internet. We propose an approach - which we call TCP Switching that can co-exist with the existing Internet in an evolutionary way. TCP Switching exposes circuits to IP, establishing a new circuit for each application-le ve I flow in the network. TCP Switching takes its name from, and strongly resembles, IP Switching in which a new ATM virtual circuit is established for each application-level flow. We realize that the idea of TCP Switching is controversial and, no doubt, incomplete. It is the intention of this paper to contribute to the discussion on how circuit switching and optical switching technology can be exploited in the Internet.