def input_signature(self):
     if self.head:
         return self.head.input_signature()
     else:
         return io_signature(0,0,0)
 def output_signature(self):
     if self.tail:
         return self.tail.output_signature()
     else:
         return io_signature(0,0,0)