The ArgumentRule returns null to indicate success and an error to indicate failure. It would be good to improve this API to have a clearer interface for validation.
Furthermore, the ArgumentRule takes a Func, it would be good to improve this API in general - likely with an interface.