add restrict_type