Definitions of FreeFloat and TotalFloat in IfcTaskTime seem incorrect

The current definitions in the docs are:

FreeFloat: The amount of time during which the start or finish of a task may be varied without any effect on the overall programme of work. It is a calculated elapsed time value.

TotalFloat: The difference between the duration available to carry out a task and the scheduled duration of the task. It is a calculated elapsed time value.

The definitions seem to be swapped. The proper definition should be:

TotalFloat: the amount of time that a task can be delayed without causing a delay to the project completion date.

FreeFloat: the amount of time that a task can be delayed without causing a delay to subsequent tasks.