We investigate the connections between continuous model theory, free probability, and optimal transport/convex analysis in the context of tracial von Neumann algebras. In particular, we give an analog of Monge-Kantorovich duality for optimal couplings where the role of probability distributions on Cn is played by model-theoretic types, the role of real-valued continuous functions is played by definable predicates, and the role of continuous function Cn→Cn is played by definable functions. In the process, we also advance the understanding of definable predicates and definable functions by showing that all definable predicates can be approximated by “C1 definable predicates” whose gradients are definable functions. As a consequence, we show that every element in the definable closure of W⁎(x1,…,xn) can be expressed as a definable function of (x1,…,xn). We give several classes of examples showing that the definable closure can be much larger than W⁎(x1,…,xn) in general.