nit: I think this is a bad API. It hides errors in client code.