-- | Prettyprint 'EncodeLengths'
ppr :: EncodeLengths -> String
ppr el = unlines [ info el
                 , printf "  Binary:         %d" (binary el)
                 , printf "  Typed/Untyped:  %d (+%d, +%2.2f%%)"
                          (typedUntyped el)
                          (absolute (binary el) (typedUntyped el))
                          (percent  (binary el) (typedUntyped el))
                 , printf "  Typed/Hashed32: %d (+%d, +%2.2f%%)"
                          (typedHashed32 el)
                          (absolute (binary el) (typedHashed32 el))
                          (percent  (binary el) (typedHashed32 el))
                 , printf "  Typed/Hashed64: %d (+%d, +%2.2f%%)"
                          (typedHashed64 el)
                          (absolute (binary el) (typedHashed64 el))
                          (percent  (binary el) (typedHashed64 el))
                 , printf "  Typed/Shown:    %d (+%d, +%2.2f%%)"
                          (typedShown el)
                          (absolute (binary el) (typedShown el))
                          (percent  (binary el) (typedShown el))
                 , printf "  Typed/Full:     %d (+%d, +%2.2f%%)"
                          (typedFull el)
                          (absolute (binary el) (typedFull el))
                          (percent  (binary el) (typedFull el))
                 ]
ppr :: EncodeLengths -> String
ppr el = unlines [ info el
                 , printf "  Binary:         %d" (binary el)
                 , printf "  Typed/Untyped:  %d (+%d, +%2.2f%%)"
                          (typedUntyped el)
                          (absolute (binary el) (typedUntyped el))
                          (percent  (binary el) (typedUntyped el))
                 , printf "  Typed/Hashed32: %d (+%d, +%2.2f%%)"
                          (typedHashed32 el)
                          (absolute (binary el) (typedHashed32 el))
                          (percent  (binary el) (typedHashed32 el))
                 , printf "  Typed/Hashed64: %d (+%d, +%2.2f%%)"
                          (typedHashed64 el)
                          (absolute (binary el) (typedHashed64 el))
                          (percent  (binary el) (typedHashed64 el))
                 , printf "  Typed/Shown:    %d (+%d, +%2.2f%%)"
                          (typedShown el)
                          (absolute (binary el) (typedShown el))
                          (percent  (binary el) (typedShown el))
                 , printf "  Typed/Full:     %d (+%d, +%2.2f%%)"
                          (typedFull el)
                          (absolute (binary el) (typedFull el))
                          (percent  (binary el) (typedFull el))
                 ]
ppr el = unlines [ info el
                 , printf "  Binary:         %d" (binary el)
                 , printf "  Typed/Untyped:  %d (+%d, +%2.2f%%)"
                          (typedUntyped el)
                          (absolute (binary el) (typedUntyped el))
                          (percent  (binary el) (typedUntyped el))
                 , printf "  Typed/Hashed32: %d (+%d, +%2.2f%%)"
                          (typedHashed32 el)
                          (absolute (binary el) (typedHashed32 el))
                          (percent  (binary el) (typedHashed32 el))
                 , printf "  Typed/Hashed64: %d (+%d, +%2.2f%%)"
                          (typedHashed64 el)
                          (absolute (binary el) (typedHashed64 el))
                          (percent  (binary el) (typedHashed64 el))
                 , printf "  Typed/Shown:    %d (+%d, +%2.2f%%)"
                          (typedShown el)
                          (absolute (binary el) (typedShown el))
                          (percent  (binary el) (typedShown el))
                 , printf "  Typed/Full:     %d (+%d, +%2.2f%%)"
                          (typedFull el)
                          (absolute (binary el) (typedFull el))
                          (percent  (binary el) (typedFull el))
                 ]