If it's specifically an issue with ruby's delegator classes I'd favour the ancestor checking.