Подсмотрел забавную хуйню в paparazzi:
```
# type measure = Km | Mile;;
type measure = Km | Mile
# let conversion f t q = match f, t with | Km, Mile -> q /. 1.60934 | Mile, Km -> q *. 1.60934 | _ -> q;;
val conversion : measure -> measure -> float -> float = <fun>
# let (>>) = conversion;;
val ( >> ) : measure -> measure -> float -> float = <fun>
# (Km>>Mile)666.;;
- : float = 413.834242608771319
```