Add genric constraint to tighten up polymorphic type config