implement set container based on https://github.com/deckarep/golang-set