func (a Position) Less(b Position) bool { return rational.Less(rational.Rational(a), rational.Rational(b)) }
func (a Duration) Greater(b Duration) bool { return rational.Greater(rational.Rational(a), rational.Rational(b)) }
func (p Position) Add(d Duration) Position { return Position(rational.Add(rational.Rational(p), rational.Rational(d))) }
func (d Duration) Add(other Duration) Duration { return Duration(rational.Add(rational.Rational(d), rational.Rational(other))) }