{-# LANGUAGE DataKinds      #-}
{-# LANGUAGE KindSignatures #-}
{-# LANGUAGE TypeFamilies   #-}
{-# LANGUAGE PolyKinds      #-}
module CLaSH.Promoted.Bool where

type family If (x :: Bool) (y :: k) (z :: k) :: k

type instance If True  y z = y
type instance If False y z = z