add EXPERIMENTAL feature that you can return custom error message in user constraint function.