Go the version working using structural typing with reflectiveCalls