Instead of using reflection to look up the values of the structs on every call perhaps we could goqux could check for user provided cache? On init of the program the user could cache these values to get a small perf win.