Do input and output splicing by semantics instead of name.