Some of these can be newtypes.