What is the rationale for not allowing overloading of && and ||? It seems to me that, with the 'lazy' keyword, D is one of the few languages where overloaded && and || can correctly implement short circuited evaluation.