The fixed-size tuple types (T2 through T16) and the associated Half typeclass have been cleanly extracted from Base.hs into a new Half.hs module. This refactor separates the boilerplate needed for tuple-splitting instances from the core circuit routing logic. By isolating these structural data types, the base module becomes much less cluttered and easier to navigate.

Extract the Half typeclass into a dedicated module to improve code organization. - zhengqunkoo/cpu-arrow