What is the exact purpose of class BuiltinBug? It inherits from BugType, has an extra description value and the BugType's description is set to a "LogicError" value. Otherwise it seems to be the same as BugType. Probably the "LogicError" description is not valid where it is used. Its purpose is probably only to store the additional description that is passed later to the bug report, but this is not a clean way of doing this. Maybe this class can be removed?