text: Title: Add tests that confirm primitive input_types are the expected shapes
  Body: There are a number of assumptions we make about the shape of Primitive `input_types` lists:
  - Its either a list of ColumnSchema objects or a list of lists of ColumnSchema objects (and not a combination)
  - All sub-lists are the same length
  - No `input_types` list or sublist is empty 
  
  As we may need to rely on these assumptions at some point, we should add tests that confirm these assumptions for all primitives, so that if we add a Primitive that breaks any of these assumptions in the future, we are notified.