@sachinchitta do you have an opinion on this?  Taking the isChain() conditional out is certainly the easy solution, but what about the hard-to-understand errors?