parted T in ISlotFunction into Input and Output, so it's possible for the slots to get Type "Input" and give another type "Output" back