go-specifications Specification Pattern for Golang Totally a POC, maybe Functional will be a best choice ...