code: func (f *FSM) AvailableTransitions() []string {
  	f.stateMu.RLock()
  	defer f.stateMu.RUnlock()
  	var transitions []string
  	for key := range f.transitions {
  		if key.src == f.current {
  			transitions = append(transitions, key.event)
  		}
  	}
  	return transitions
  }
docs: // AvailableTransitions returns a list of transitions avilable in the
  // current state.