bidirectional ports change on strict inputs and outputs