- ((self key)
- (aif class (find-in-class self '__class__ #f)
- (kif it1 (find-in-class-and-parents self key fail)
- (aif dd1 (ref it1 '__get__)
- (if (ref it1 '__set__)
- (dd1 self class)
- (kif it2 (find-in-class self key fail)
- it2
- (it1 self class)))
- (kif it2 (find-in-class self key fail)
+ ((self key)
+ (define (-fail class)
+ (if (eq? key 'mro)
+ (find-in-class self '__mro__ fail)
+ fail))
+
+ (aif class (find-in-class self '__class__ #f)
+ (kif it1 (find-in-class-and-parents class key fail)
+ (aif dd1 (rawref it1 '__get__)
+ (if (rawref it1 '__set__)
+ (dd1 self class)
+ (kif it2 (find-in-class-and-parents self key fail)
+ it2
+ (dd1 self class)))
+ (kif it2 (find-in-class-and-parents self key fail)