I believe the core issue here is that they are trying to merge multiple 16-bit float types into one f16 type. But we had multiple 16-bit types with different trade-offs for a reason ...
No, the problem is that the platforms involved do not support any 16-bit float type in an ergonomic way. (The most accessible type on all the platforms, and the one used, is ultimately IEEE 754 binary16.)