// 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

