functional-go
go get github.com/Myriad-Dreamin/functional-go
or just import it in your package
package traits // import "github.com/Myriad-Dreamin/functional-go"
type BaseTraits struct{ ... }
type DecayResult struct{ ... }
type DecayResult2 struct{ ... }
type DecayResult3 struct{ ... }
func NewBaseTraits(t interface{}) BaseTraits
func Decay(d interface{}, e error) DecayResult
func Decay2(d, d2 interface{}, e error) DecayResult2
func Decay3(d, d2, d3 interface{}, e error) DecayResult3