Finds the instantiated types of the arguments required to construct a DataCon representation
NB: these INCLUDE any dictionary args
but EXCLUDE the data-declaration context, which is discarded
It's all post-flattening etc; this is a representation type

Get the Id of the DataCon worker: a function that is the actual
constructor and has no top level binding in the program. The type may
be different from the obvious one written in the source program. Panics
if there is no such Id for this DataCon

Get the Id of the DataCon wrapper: a function that wraps the actual
constructor so it has the type visible in the source program: c.f. dataConWorkId.
Returns Nothing if there is no wrapper, which occurs for an algebraic data constructor
and also for a newtype (whose constructor is inlined compulsorily)