Bump CI Go versions to 1.16 and 1.17. Update build tags with `go:build` equivalents. Upgrade asmfmt tool for new `go:build` support. Updates #183
Apply @mvdan's opinionated gofumpt formatter across the codebase.
By using Implement you can provide a definition of a function, taking the signature from a stub in the package. One major benefit of this approach is it makes it easy to handle external types in the function signature. Updates #55