add support for nested configurations, and type-checked multi-valued configuration slots