throws on titled middleware registration without title and fn