Мне очень нравится играть с Рустом, долгое время работавшим на С#, но у меня есть вопрос по поводу рефлексии. Возможно, мне не нужно отражать в этом случае, но, учитывая, что Rust строго типизирован, я подозреваю, что мне это нужно (я определенно нуждаюсь в этом в хорошем старом С#, благослови его хлопковые носки).
У меня такая ситуация:
use std::collections::HashMap;
fn invoke_an_unknown_function(
    hashmap: HashMap<String, String>,
    // Something to denote a function I know nothing about goes here
) {
    // For each key in the hash map, assign the value
    // to the parameter argument whose name is the key
    // and then invoke the function
}
  Как бы я это сделал? Я предполагаю, что мне нужно передать какое-то MethodInfo в качестве второго аргумента функции, а затем поэкспериментировать с этим, чтобы получить аргументы, имя которых является ключом в хэш-карте, и присвоить значения, но я искал API отражения и нашел следующую документацию до Rust 1.0:
Ничто из этого не дает мне достаточно, чтобы начать. Как реализовать функцию, описанную выше?