{-# LANGUAGE TemplateHaskell, TypeFamilies, TypeOperators #-}
module Data.Units.PreciousMetals where
import Data.Metrology
import Data.Metrology.TH
import Data.Units.SI
import Data.Units.SI.Prefixes
import qualified Data.Units.US.Avoirdupois as Avdp
import qualified Data.Units.US.Troy as Troy
declareDerivedUnit "Carat" [t| Milli :@ Gram |] 200 (Just "carat")
declareDerivedUnit "Point" [t| Carat |] 0.01 (Just "point")
declareDerivedUnit "AssayTon" [t| (Milli :@ Gram) :* (Avdp.Ton :/ Troy.Ounce) |]
1 (Just "AT")