let best_method data klass_name method_name actuals sections =
let methods = class_method_lookup data klass_name method_name in
let methods = in_section sections methods 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 in " ^ klass_name ^ "; Compiler error."))