Why does canonical order for ACEs put deny ACEs ahead of allow ACEs?

So-called canonical order for ACEs in an access control list places deny ACEs ahead of allow ACEs. Why is this the canonical order? Because it gives results that are sensible. The algorithm for determining whether a user has access to an object protected by an ACL is as follows: let access-still-needed = access-requested for each ACE in t...