Avoid storing full containers in the configuration structure. This means that the fixed point calculation is no longer dependent on pointer equality between functions which is much saner.

This has lead to a bit of a reworking of the container dfn expressions / files so that they're actually modules, but this is no great deal.