Зачем мапу, sort.Slice с кастомным компаратором не пойдёт разве?
Зафиксировать требования - это что-то из параллельной вселенной? )