/* @flow */ type Task = { chain(next:(input:value) => Task): Task } function id(x: Task): Task { return x; }