code: func NewTrainer(opts ...TrainerConsOpt) *Trainer {
  	t := new(Trainer)
  	// set up the default model
  	t.Model = new(Model)
  	t.corpus = KnownWords
  	t.ts = transitions
  
  	// set up the neural network
  	t.nn = new(neuralnetwork2)
  	t.nn.NNConfig = DefaultNNConfig
  	t.nn.transitions = transitions
  	t.nn.dict = KnownWords
  
  	for _, opt := range opts {
  		opt(t)
  	}
  	return t
  }
docs: // NewTrainer creates a new Trainer.