The name `attr` is too generic and misleading; it may confuse the beginners. Also the identifier `attr` is too generic for the library's codebase, as we often find it clashes wish some local variable declared like `Attr attr;`.