renderProgram :: Program Expr -> Serialized
renderProgram Program{..} = vsep $ intersperse line
  $  map renderNamedFunction functions
  ++ [renderNamedFunction $ NamedFunction "main" main]
renderProgram :: Program Expr -> Serialized
renderProgram Program{..} = vsep $ intersperse line
  $  map renderNamedFunction functions
  ++ [renderNamedFunction $ NamedFunction "main" main]
renderProgram Program{..} = vsep $ intersperse line
  $  map renderNamedFunction functions
  ++ [renderNamedFunction $ NamedFunction "main" main]