// This Source Code Form is subject to the terms of the Mozilla Public
// License, v. 2.0. If a copy of the MPL was not distributed with this
// file, You can obtain one at http://mozilla.org/MPL/2.0/.

js> version(180)
180
js> x = function(x) x;

function (x) x

js> x.toSource()
(function (x) x)
js> x(123) === 123
true
js> x = function([a, b]) a + b;

function ([a, b]) a + b

js> x([1, 2])
3
js> x.toSource()
(function ([a, b]) a + b)
js> function outer() {
  >    var k = function(a) a + 1;
  >    return function(b) k(b) * 2;
  > }
js> outer

function outer() {
    var k = function (a) a + 1;
    return function (b) k(b) * 2;
}

js> outer()

function (b) k(b) * 2

js> outer()(4)
10
js> outer()(5)
12

