All that being said, the tools of category theory and homological algebra actually have started to make their way into analysis. Because of the fact that analysts generally consider problems tied to certain very specific kinds of structure, they have historically focused on providing the sharpest and most detailed solutions to their problems rather than extracting the crude, qualitative invariants for which cohomological thinking is most appropriate. However, as analysts have become more and more attuned to the deep relationships between functional analysis and geometry, they have turned to ideas from category theory to help keep things organized. K-theory and K-homology have become indispensable tools in operator theory; there is even a bivariant functor $KK(-,-)$$KK(-,-) $ from the category of C-algebras to the category of abelian groups relating the two constructions, and many deep theorems can be subsumed in the assertion that there is a category whose objects are C-algebras and whose morphism spaces are given by $KK(A,B)$. Cyclic homology and cohomology has also become extremely relevant to the interface between analysis and topology.