Added factory for non-coproduct types