made silent default to false, so that error messages don't have to pass in a non-obvious 'false' value when they 100% always want to print something.