Use field's index to fetch field's value

I had some crashes on `val.Interface()` with my structures, and worked around those by using `reflect`'s mechanism to obtain field's index. Really hope this can get merged!