input: 
  def construct_mnist_classifier(input_shape: int, hidden_units: int) -> keras.Model:
      """ Constructs a neural network model using keras to classify the MNIST dataset.
      The input layer takes the input shape, a hidden dense layer with relu activation is 
      added with the number of units specified, and an output dense layer with softmax 
      activation is added with 10 units (for 10 classes in MNIST dataset). The model 
      is then compiled using adam optimizer, sparse categorical crossentropy loss, and 
      accuracy as the metric.
      >>> model = construct_mnist_classifier(784, 128)
      >>> model.input_shape == (None, 784)
      True
      >>> model.output_shape == (None, 10)
      True
      >>> model.layers[1].units
      128
      """
      input_layer = keras.layers.Input(shape=(input_shape,))
      hidden_layer = keras.layers.Dense(hidden_units, activation='relu')(input_layer)
      output_layer = keras.layers.Dense(10, activation='softmax')(hidden_layer)
      model = keras.Model(inputs=input_layer, outputs=output_layer)
      model.compile(optimizer='adam', loss='sparse_categorical_crossentropy', metrics=['accuracy'])
      return model
  
output:     input_layer = keras.layers.Input(shape=(input_shape,))
      hidden_layer = keras.layers.Dense(hidden_units, activation='relu')(input_layer)
      output_layer = keras.layers.Dense(10, activation='softmax')(hidden_layer)
      model = keras.Model(inputs=input_layer, outputs=output_layer)
      model.compile(optimizer='adam', loss='sparse_categorical_crossentropy', metrics=['accuracy'])
      return model