```typescript
/**
 * An append-only log of timestamped events.
 */
export interface Event {
  name: string;
  timestamp: number;
}

export class EventLog {
  private #events: Event[];

  /**
   * Append one event.
   */
  record(event: Event): void {
    this.#events = this.#events.concat([event]);
  }

  /**
   * Every event at or after the given timestamp, in insertion order.
   */
  since(timestamp: number): Event[] {
    return [ ...this.#events.filter((event) => event.timestamp >= timestamp) ];
  }
}
```