human
I wrote the below code

    def dropout_lstm_cell():
        return tf.contrib.rnn.DropoutWrapper(tf.contrib.rnn.BasicLSTMCell(hparams.hidden_size), input_keep_prob=(1.0 - (hparams.dropout * tf.to_float(train))))
    layers = [dropout_lstm_cell() for _ in range(hparams.num_hidden_layers)]
    with tf.variable_scope(name):
        return tf.nn.dynamic_rnn(tf.contrib.rnn.MultiRNNCell(layers), inputs, initial_state=initial_state, dtype=tf.float32, time_major=False)

What's a good function header?

=====
Here's a good function header?
assistant
#Here's a good function header.

def lstm(inputs, hparams, train, name, initial_state=None):