let best_inherited_method data klass_name method_name actuals this =
let methods = class_ancestor_method_lookup data klass_name method_name this in
match best_matching_signature data actuals methods with
| [] -> None
| [func] -> Some(func)
| _ -> raise(Invalid_argument("Multiple methods named " ^ method_name ^ " of the same signature inherited in " ^ klass_name ^ "; Compiler error."))