full proof vs foolproof