allowing non-deterministics to fail.