code: func NewContext(mode ...int) *Context {
  	context := &Context{
  		Iterations:  3,
  		Memory:      1 << 12, // 4 MiB
  		Parallelism: 1,
  		HashLen:     32,
  		Mode:        ModeArgon2i,
  		Version:     VersionDefault,
  	}
  	if len(mode) >= 1 {
  		context.Mode = mode[0]
  	}
  	return context
  }
docs: // NewContext initializes a new Argon2 context with reasonable defaults.
  // allows the mode to be set as an optional paramter