Konwersja z m / s na km / h za pomocą F # jednostek miary

Jestem w trakcie nauki F # - i obecnie zajmuję się Jednostkami miary. Mam prostą kalkulację zwracającą metry na sekundę i chcę wprowadzić funkcję przekształcającą ją na kilometry na godzinę.

Mój kod wygląda tak:

[<Measure>] type kg
[<Measure>] type s
[<Measure>] type m
[<Measure>] type km
[<Measure>] type h            

let msToKmph(speed : float<m/s>) =
    (float speed) * 3.6<km/h>

let gravityOnEarth = 9.81<m/s^2>
let heightOfJump = 3.5<m>

let speedOfImpact = sqrt (2.0 * gravityOnEarth * heightOfJump)
let speedOfImpactKmh = msToKmph(speedOfImpact)

To działa - otrzymuję 8.28673639 m / s i 29.832251 km / h. Nie jestem pewien, czy jest to najlepszy sposób wyrażenia relacji między różnymi jednostkami. Czy można to zrobić bardziej elegancko?

Na przykład, wykonując linię (prędkość pływaka), aby usunąć informacje o jednostce z parametru prędkości, aby msToKmph powrócił km / h. Gdybym nie usunął informacji o jednostce przed wykonaniem obliczeń, zwrócona jednostka wynosiłaby: km m / (h s)

questionAnswers(2)

yourAnswerToTheQuestion