fib :: Number
fib 0 = 0
fib 1 = 1
fib n = fib (n-1) + fib (n-2)
json -> object | array
object -> "{" (pair ("," pair):*):? "}"
pair -> %string ":" value
list -> "[" (value ("," value ):*):? "]"
value -> object | list | string | number | "null" | "false" | "true"
const CHARS = 'plmonkij9buvhyc2gtxfr5zde3sw1aqZX4CASDQ0WEVBN7FGHRTYM6JKLU8IOP';
const randchar = (chars: string = CHARS): string =>
chars.charAt(Math.floor(Math.random() * chars.length));
const randstr = (length: number, chars: string = CHARS): string =>
length > 0 ? randchar(chars) + randstr(length - 1, chars) : '';