Combine prop_{opt,req}_roundtrip

[ci skip]