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}