Take care with 'let' in specialiser - avoid duplicating a redex
Let now only reduces if the binding appears at most once in scope during
specialisation
Take care to avoid duplicating redexes when reducing lambdas
Binders in values are annotated with a 'reducible' flag, which is set
to False if simplifying and the argument appears more than once.
javascript: added javascript lib package
javascript: add hack to check for undefined
javascript: added experimental JSON datastructure
javascript: added index to JSONArray