Fix issue with structs fields that have the same name.

If have struct fields with identical names but of different types,
then since their kind is both "struct" we end up trying to set the
destination as the source value. This causes reflect.Set() to panic
because the source type is not assignable to the destination type.
Merge pull request #3 from visemet/master

Fix issue with structs fields that have the same name.