supposedly, self_type is done