module Darcs.Patch.Witnesses.Unsafe
    ( unsafeCoerceP
    , unsafeCoercePStart
    , unsafeCoercePEnd
    , unsafeCoerceP1
    ) where

import Unsafe.Coerce

unsafeCoerceP :: a wX wY -> a wB wC
unsafeCoerceP :: forall (a :: * -> * -> *) wX wY wB wC. a wX wY -> a wB wC
unsafeCoerceP = a wX wY -> a wB wC
forall a b. a -> b
unsafeCoerce

unsafeCoercePStart :: a wX1 wY -> a wX2 wY
unsafeCoercePStart :: forall (a :: * -> * -> *) wX1 wY wX2. a wX1 wY -> a wX2 wY
unsafeCoercePStart = a wX1 wY -> a wX2 wY
forall a b. a -> b
unsafeCoerce

unsafeCoercePEnd :: a wX wY1 -> a wX wY2
unsafeCoercePEnd :: forall (a :: * -> * -> *) wX wY1 wY2. a wX wY1 -> a wX wY2
unsafeCoercePEnd = a wX wY1 -> a wX wY2
forall a b. a -> b
unsafeCoerce

unsafeCoerceP1 :: a wX -> a wY
unsafeCoerceP1 :: forall (a :: * -> *) wX wY. a wX -> a wY
unsafeCoerceP1 = a wX -> a wY
forall a b. a -> b
unsafeCoerce