The primary benefit of this patch is being able to write stuff like:
// getLocForWrite returns `MemoryLocation()` upon failure. if (MemoryLocation M = getLocForWrite(Instruction, AA)) { // do stuff with M }
If there are any down sides, please let me know.
operator bool() should always be explicit.