-- import qualified Data.Collections as C
-- import qualified Data.Collections.Foldable as CF
-- import           Data.Collections.BaseInstances ()
{-
instance CF.Foldable (Data.List.NonEmpty.NonEmpty a) a where
	foldMap = Data.Foldable.foldMap

class
 ( CF.Foldable account account_name
 , C.Map amounts unit amount
 , Num amount
 , Ord unit
 ) =>
 Class_Posting posting account account_name amounts amount unit
 where
	posting_account :: posting -> account
	posting_amounts :: posting -> amounts
	posting_nil     :: account -> amounts -> posting
-}
{-
instance Class_Posting Posting Account Account.Name Amount.By_Unit Amount Amount.Unit where
	posting_account = Posting.account
	posting_amounts = Posting.amounts
	posting_nil acct amounts = (Posting.nil acct) {Posting.amounts}
-}

{-
class Num amount => Amount amount quantity unit
 where
	amount_quantity :: amount -> quantity
	amount_unit     :: amount -> unit
	amount_is_zero  :: amount -> Bool
-}