Enhance generic implemented by struct wrapper for generic function
Remove unnecessary struct for function
Instead of output reflect.Value, Map function now output generic interface{}