@m455 @dozens yeah, method resolution rolls up to the class normally, so the method is only ever *stored* once, but there are a lot of places that the method can be overridden, so the method that comes from the class isn't always the one that runs
the problem is resolving which method should actually be called is a lot more complex than just "look up a field in a data structure" so yeah, that's a big part of why ruby is one of the slowest languages around