Requires Go >= 1.2