     [ @walk(node.id), ' = ', init, "\n" ]
 
   FunctionExpression: (node, ctx) ->
-    params = @toParams(node.params)
+    params = @makeParams(node.params)
 
     expr = @indent (i) =>
       [ params, "->\n", @walk(node.body) ]

    [ "###", lines, "###\n" ]

  FunctionDeclaration: (node) ->
    params = @toParams(node.params)

    @indent (indent) =>
      [ @walk(node.id), ' = ', params, "->\n", @walk(node.body) ]


    [ left, "\n", right ]

  ###*
  # makeSequence():
  # Builds a comma-separated sequence of nodes.
  ###

  makeSequence: (list) ->
    for arg, i in list
      isLast = i is (list.length-1)
      if arg.type is "FunctionExpression"
        if not isLast
          arg._parenthesized = true

    commaDelimit(list.map(@walk))

  ###*
  # makeParams():
  # Builds parameters for a function list.
  ###

  makeParams: (params) ->
    if params.length
      [ '(', delimit(params.map(@walk), ', '), ') ']
    else
