function Box(x: any) { return { inspect: () => `Box(${x})`, map: (f: (arg0: any) => any) => Box(f(x)), fold: (f: (arg0: any) => any) => f(x)