In calss AffectedCarriagewayAndLanes the attribute carriageway is requiered. I wonder if this is a bug so it should have been optional. lane is optional and often you don't have the information requiered for carriageway. In our case we sometimes know the lane and often have the lengthAffected but never the cariageway.
I understand that carriageway attribute has been introduced to rationalise previously named attribute lane that was used also to specify "entrance" and "exit" lanes that are more precisely carriageways.
mainCarriageway in CarriagewayEnum can be used as a default when the element is along the road. otherwise you could state the well known carriageway.
I suggest to add "other", because you might also use this class when describing other types of roads than carriageways.
Resolved according to agreed resolution as documented by Loic.