some fan with 7.8 exercise from Go Programming Language book go 1.17 required because of reflect.VisibleFields