toplevel Tuple Funcs now do bounds inference correctly

Previously bugs here caused missing symbol errors.

Output buffers beyond the first get an implicit constraint that their
size matches the size of the first output buffer.