ternary :: Ternary -> RoundMode -> Precision -> Rounded -> Rounded -> Rounded -> Rounded
ternary f r p (Rounded s e l) (Rounded s' e' l') (Rounded s'' e'' l'') = Rounded s''' e''' l''' where
    (# s''', e''', l''' #) = f (mode# r) (prec# p) s e l s' e' l' s'' e'' l''

ternary :: Ternary -> RoundMode -> Precision -> Rounded -> Rounded -> Rounded -> Rounded
ternary f r p (Rounded s e l) (Rounded s' e' l') (Rounded s'' e'' l'') = Rounded s''' e''' l''' where
    (# s''', e''', l''' #) = f (mode# r) (prec# p) s e l s' e' l' s'' e'' l''

ternary f r p (Rounded s e l) (Rounded s' e' l') (Rounded s'' e'' l'') = Rounded s''' e''' l''' where
    (# s''', e''', l''' #) = f (mode# r) (prec# p) s e l s' e' l' s'' e'' l''
