More infrastructure for functional programming.