renderDot :: NixExpr -> [NixString] -> Maybe NixExpr -> Text
renderDot e pth alt = renderParens e <> rpth <> ralt where
  rpth = case pth of {[] -> ""; _ -> "." <> renderPath pth}
  ralt = case alt of {Nothing -> ""; Just e' -> " or " <> render e'}

-- | A "term" is something which does not need to be enclosed in
-- parentheses.
renderDot :: NixExpr -> [NixString] -> Maybe NixExpr -> Text
renderDot e pth alt = renderParens e <> rpth <> ralt where
  rpth = case pth of {[] -> ""; _ -> "." <> renderPath pth}
  ralt = case alt of {Nothing -> ""; Just e' -> " or " <> render e'}

-- | A "term" is something which does not need to be enclosed in
-- parentheses.
renderDot e pth alt = renderParens e <> rpth <> ralt where
  rpth = case pth of {[] -> ""; _ -> "." <> renderPath pth}
  ralt = case alt of {Nothing -> ""; Just e' -> " or " <> render e'}

-- | A "term" is something which does not need to be enclosed in
-- parentheses.