For a dynamic combinatorial library, we require building blocks with functional groups such that they dimerize through a dynamic covalent bond. Moreover, the product dimer should again be a library member, such that it can form a trimer. Thus, a building block needs to be bi-functional-it should contain both the donating and receiving components for the dynamic covalent bond (Scheme 1A). Finally, to create a dynamic combinatorial library under kinetic control, the building blocks should be coupled to a reaction cycle to be in the thermodynamically favored state. In contrast, the library's products exist only higher in the free energy landscape. Put differently, the dynamic covalent bond should be transient by forming upon reacting with a high-energy fuel and spontaneously decaying to the building block state.