code: func (m *nodeFSM) Apply(l *raft.Log) interface{} {
  	if len(l.Data) == 0 {
  		// blank data
  		return nil
  	}
  	cmd, err := redcon.Parse(l.Data)
  	if err != nil {
  		return err
  	}
  	val, err := (*Node)(m).doCommand(nil, cmd)
  	if err != nil {
  		return err
  	}
  	return val
  }
docs: // Apply applies a Raft log entry to the key-value store.