code: def _build(self, inputs_list):
      
      outputs = []
      for idx, tensor in enumerate(inputs_list):
        outputs.append(
            Linear(
                self._output_size,
                initializers=self._initializers,
                partitioners=self._partitioners,
                regularizers=self._regularizers,
                # Since we are interpreting this as 'one big linear', we only need
                # one bias.
                use_bias=(idx == 0 and self._use_bias))(tensor))
      return tf.add_n(outputs)
docs: Connects the module into the graph.
  
      If this is not the first time the module has been connected to the graph,
      the Tensors provided here must have the same final dimensions as when called
      the first time, in order for the existing variables to be the correct size
      for the multiplication. The batch size may differ for each connection.
  
      Args:
        inputs_list: A list of 2D Tensors of rank 2, with leading batch dimension.
  
      Returns:
        A 2D Tensor of size [batch_size, output_size].