Hi John,
Good point. That's actually not what I was using..... I had a sys.error("Unimplemented") as the body of my isPersisted and changed it after copy / pasting because I thought that might confuse people. You're right though, it wouldn't compile. As an alternative, you could use a pattern match on A checking for 0 on numeric AnyVal(s) and null for AnyRef.
Personally, I don't see much use for isPersisted right with KeyedEntityDef, given the current implementation. It's only used by Squeryl in the insertOrUpdate method, which I don't use. Eventually I'd like to see it reference a field so that Squeryl can properly set it for you.