support for rebuilding type constructors with mixed components (inductive and non-inductive) in any order