zip_in_out_typ() is overridden below. I'll try to reorganize methods so they're more obvious.