restrict RudeFactory type bound