@ kvb верно, в более общем смысле:
Если у вас есть алгоритм, не связанный с единицами (например, вы пишете «корень куба»), и вы хотите поместить в него единицы измерения, вы можете заключить алгоритм в функцию с правильной сигнатурой типа и использовать, например, например. «плавать», чтобы «отбрасывать» отряды по мере их появления, и подход «бокс и падающий», чтобы «добавлять обратно» соответствующие отряды на выходе.
В версии RTM (после Beta2) F # будет иметь примитивные библиотечные функции для «добавления обратно блоков», так как подход box-and-downcast в настоящее время является хаком, чтобы преодолеть недостаток этих примитивов в язык / библиотека.