Haskell Add Border
addBorder :: [String] -> [String]
addBorder picture = border : map (\row -> "*" ++ row ++ "*") picture ++ [border]
  where
    border = replicate (length (head picture) + 2) '*'

This builds a new grid with a * border around every side. It adds a full top and bottom row, then wraps each existing row from left and right.