Variational data structures