class Container { private $value: any; constructor(x: any) { this.$value = x; } static of(x: any) { return new Container(x); } call(f: (x: T, ...rest: any[]) => U, ...rest: any[]) { return (this.$value = f(this.$value, ...rest)), this; } value(): O { return this.$value; } } export { Container };