Change:
operation of the selected Protocol Stacks. All Transport Parameters are organized within a single namespace <del> shared with Send Parameters (see send-params).  All transport parameters take paremeter-specific values.  Protocol and Path Selection properties additionally take one of five preference levels, though not all preference levels make sense with all such properties. </del> <ins> shared with Send Parameters (see send-params).  These transport parameters take values of parameter-specific types. </ins> Note that it is possible for a set of specified transport parameters <del> to be internally inconsistent, or for preferences to be inconsistent with the later use of the API by the application.  Application developers can reduce inconsistency by only using the most stringent preference levels when failure to meet a preference would break the application's functionality (e.g. the Reliable Data Transfer preference, which is a core assumption of many application protocols).  Implementations of this interface should also raise any detected errors in configuration as early as possible, to help ensure these inconsistencies are caught early in the development process. </del> <ins> to be internally inconsistent, or to be inconsistent with the later use of the API by the application.  Application developers can reduce inconsistency by only using the most stringent preference levels when failure to meet a preference would break the application's functionality (e.g. the Reliable Data Transfer preference, which is a core assumption of many application protocols).  Implementations of this interface should also raise any detected errors in configuration as early as possible, to help ensure these inconsistencies are caught early in the development process. </ins> The protocol(s) and path(s) selected as candidates during Connection establishment are determined by a set of properties.  Since there

Discussion:
This commit fixes bug by making transport parameter types explicit. It also fixes Path- and Protocol Selection Properties from "binary + preference" to preferences type. With the old boolean properties, one could do things like "prohibit Reliable Transport false" - is that the same as "prefer Reliable Transport true"?
To the questions in NAME review summary: For the general case: I believe there will be boolean properties (that are not preferences). The way I understand "Excessive Retransmit Notifications" and "ICMP soft error message", I think booleans are the more appropriate type. Not for -00, but for -01: I want to define all types more rigorously in -01 --- we have Boolean, Enumeration, Boolean in the Transport Parameters right now, we also have some Integers in the Send Parameters. I am not sure that the frontmatter of this section is the right place to do so.
General clarification: This pull request changed "preference" to a data type a value can have rather than being something weakly defined that can be specified along with every Transport Parameter. So we go from a Key / Preference / Value tripel where Preference or Value is pointless for (n-1) cases to a Key / Value pair with typed values. The only Transport Parameter (including the Intents in the Appendix) that uses a parameter and a preference is the "Interface Type". I would like to land this for -00 as this is good enough for discussion while the old state is confusing. ToDos for -01: Explain types clearly make "Interface Type" easier in -01 discuss extendability
If we're doing booleans, the document needs to define a concise and generally applicable rule for how booleans interact with preferences. ISTM that boolean True == preference Prefer and boolean False == preference Avoid (in which case, why not just say Prefer and Avoid instead of True and False?) I might be wrong here though. Will defer to NAME
also NAME Please file everything in the comments on this PR that should be addressed in -01 as an issue (if you haven't already)... thanks!
Ok - now I got your point. These properties (Notification of excessive retransmissions and Notification of ICMP soft error message arrival) are actually doing two things: Enable sending these events Indicate that we prefer protocols stacks that can send these events The question is which one is more important.

As I think the former is more important, I leave it boolean an add remarks to the individual properties that this implies preferring protocols that can provide these events for now. As this does not hide things, this should provide the better feedback for -00
This should be ready for landing. – NAME please merge if you agree Open Issues for Milestone itef-01: Restructure Transport Parameters Section Explain data types explicitly Rewrite Interface Types to be useful and implementable
Transport and Send Parameter have different data types. These types are used in the document in a more or less intuitive way but are never defined explicitly. May need a new section next to the pseudocode definition.
This has been addressed in PR
This is a fork of Issue – The part of it that does not need discussion. Annotate "data type" for each Transport Parameter Change "boolean" Protocol and Path Selection Parameters to type "Preference" Remove editing artifacts
still not convinced by the boolean argument, but it's time to ship it.