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