module Unison.Merge.TwoOrThreeWay ( TwoOrThreeWay (..), toThreeWay, ) where import Unison.Merge.Internal.Types (ThreeWay (..), TwoOrThreeWay (..)) import Unison.Prelude toThreeWay :: a -> TwoOrThreeWay a -> ThreeWay a toThreeWay :: forall a. a -> TwoOrThreeWay a -> ThreeWay a toThreeWay a x TwoOrThreeWay {a alice :: a $sel:alice:TwoOrThreeWay :: forall a. TwoOrThreeWay a -> a alice, a bob :: a $sel:bob:TwoOrThreeWay :: forall a. TwoOrThreeWay a -> a bob, Maybe a lca :: Maybe a $sel:lca:TwoOrThreeWay :: forall a. TwoOrThreeWay a -> Maybe a lca} = ThreeWay {a alice :: a $sel:alice:ThreeWay :: a alice, a bob :: a $sel:bob:ThreeWay :: a bob, $sel:lca:ThreeWay :: a lca = a -> Maybe a -> a forall a. a -> Maybe a -> a fromMaybe a x Maybe a lca}