lookup :: Ord k => k -> Para.Alg (F.Tree k v) (Maybe v)
lookup k = Para.Psi $ \f ->
  case f of
    F.Leaf -> Nothing
    F.Branch c d (_, l) (_, r) ->
      case k `compare` c of
        LT -> l
        EQ -> Just d
        GT -> r
lookup :: Ord k => k -> Para.Alg (F.Tree k v) (Maybe v)
lookup k = Para.Psi $ \f ->
  case f of
    F.Leaf -> Nothing
    F.Branch c d (_, l) (_, r) ->
      case k `compare` c of
        LT -> l
        EQ -> Just d
        GT -> r
lookup k = Para.Psi $ \f ->
  case f of
    F.Leaf -> Nothing
    F.Branch c d (_, l) (_, r) ->
      case k `compare` c of
        LT -> l
        EQ -> Just d
        GT -> r