Plumbed FailableOf<T> throughout the entire JSValue type.
Added an entire functional API on top of JSValue.