--------------------------------------------------------------------------------
-- Extenders

types :: Type NodeInfo -> Printer s ()
types (TyTuple _ boxed tys) =
        depend (write (case boxed of
                         Unboxed -> "(#"
                         Boxed -> "("))
               (do (fits,_) <- fitsOnOneLine p
                   if fits
                      then p
                      else prefixedLined ","
                                         (map pretty tys)
                   write (case boxed of
                            Unboxed -> "#)"
                            Boxed -> ")"))
        where p = commas (map pretty tys)
types :: Type NodeInfo -> Printer s ()
types (TyTuple _ boxed tys) =
        depend (write (case boxed of
                         Unboxed -> "(#"
                         Boxed -> "("))
               (do (fits,_) <- fitsOnOneLine p
                   if fits
                      then p
                      else prefixedLined ","
                                         (map pretty tys)
                   write (case boxed of
                            Unboxed -> "#)"
                            Boxed -> ")"))
        where p = commas (map pretty tys)
types (TyTuple _ boxed tys) =
        depend (write (case boxed of
                         Unboxed -> "(#"
                         Boxed -> "("))
               (do (fits,_) <- fitsOnOneLine p
                   if fits
                      then p
                      else prefixedLined ","
                                         (map pretty tys)
                   write (case boxed of
                            Unboxed -> "#)"
                            Boxed -> ")"))
        where p = commas (map pretty tys)