points
interface Box<T> { value: T } function map<T, U>(input: Box<T>, func: (value: T) => U): Box<U> { return { value: func(input.value) } }