It's going to be very difficult to distinguish between the TypeErrors raised by characteristic and those raised by object.__init__ and those raised by RestartOnFailure.__init__. So just raise a generic ParsingError with the supplied, invalid config