package acme type Desire struct { solver Solvers } func NewDesire() *Desire { return &Desire{ solver: make(Solvers), } } func (d *Desire) RegisterSolver(s Solver) { if s != nil { d.solver[s.Type()] = s } }