The example should compile and run with webpack.
ERROR in /home/frikki/.local/src/motorcyclets/motorcycle/examples/sokoban/node_modules/@motorcycle/stream/lib/sources/createProxy/ProxyStream.d.ts
(3,22): error TS2415: Class 'ProxyStream<A>' incorrectly extends base class 'MulticastSource<A>'.
Types of property 'run' are incompatible.
Type '(sink: Sink<A>, scheduler: Scheduler) => Disposable' is not assignable to type '(sink: Sink<A>, scheduler: Scheduler) => Disposable'. Two different types with this name exist, but they are unrelated.
Types of parameters 'scheduler' and 'scheduler' are incompatible.
Type 'Scheduler' is not assignable to type 'Scheduler'. Two different types with this name exist, but they are unrelated.
ERROR in ./src/ui/interaction/key.ts
(9,49): error TS2345: Argument of type 'Stream<KeyboardEvent>' is not assignable to parameter of type 'Stream<{ key: string; }>'.
Types of property 'run' are incompatible.
Type '(sink: Sink<KeyboardEvent>, scheduler: Scheduler) => Disposable' is not assignable to type '(sink: Sink<{ key: string; }>, scheduler: Scheduler) => Disposable'.
Types of parameters 'scheduler' and 'scheduler' are incompatible.
Type 'Scheduler' is not assignable to type 'Scheduler'. Two different types with this name exist, but they are unrelated.
ERROR in ./src/ui/UI.ts
(33,77): error TS2345: Argument of type 'Stream<string>' is not assignable to parameter of type 'Stream<{}>'.
Types of property 'run' are incompatible.
Type '(sink: Sink<string>, scheduler: Scheduler) => Disposable' is not assignable to type '(sink: Sink<{}>, scheduler: Scheduler) => Disposable'.
Types of parameters 'scheduler' and 'scheduler' are incompatible.
Type 'Scheduler' is not assignable to type 'Scheduler'. Two different types with this name exist, but they are unrelated.
ERROR in ./src/ui/UI.ts
(34,62): error TS2345: Argument of type 'Stream<string>' is not assignable to parameter of type 'Stream<{}>'.
ERROR in ./src/ui/UI.ts
(36,71): error TS2345: Argument of type 'Stream<State>' is not assignable to parameter of type 'Stream<State>'.
Types of property 'run' are incompatible.
Type '(sink: Sink<State>, scheduler: Scheduler) => Disposable' is not assignable to type '(sink: Sink<State>, scheduler: Scheduler) => Disposable'. Two different types with this name exist, but they are unrelated.
Types of parameters 'scheduler' and 'scheduler' are incompatible.
Type 'Scheduler' is not assignable to type 'Scheduler'. Two different types with this name exist, but they are unrelated.
ERROR in ./src/ui/UI.ts
(41,60): error TS2345: Argument of type 'Stream<string>' is not assignable to parameter of type 'Stream<{}>'.
ERROR in ./src/ui/UI.ts
(47,5): error TS2345: Argument of type 'Stream<true>' is not assignable to parameter of type 'Stream<any>'.
Types of property 'run' are incompatible.
Type '(sink: Sink<true>, scheduler: Scheduler) => Disposable' is not assignable to type '(sink: Sink<any>, scheduler: Scheduler) => Disposable'.
Types of parameters 'scheduler' and 'scheduler' are incompatible.
Type 'Scheduler' is not assignable to type 'Scheduler'. Two different types with this name exist, but they are unrelated.
Property 'currentTime' is missing in type 'Scheduler'.
ERROR in ./src/ui/UI.ts
(50,7): error TS2345: Argument of type 'Stream<{ levelCompleted: boolean; allLevelsCompleted: boolean; }>' is not assignable to parameter of type 'Stream<{ levelCompleted: boolean; allLevelsCompleted: boolean; }>'.
Types of property 'run' are incompatible.
Type '(sink: Sink<{ levelCompleted: boolean; allLevelsCompleted: boolean; }>, scheduler: Scheduler) => ...' is not assignable to type '(sink: Sink<{ levelCompleted: boolean; allLevelsCompleted: boolean; }>, scheduler: Scheduler) => ...'. Two different types with this name exist, but they are unrelated.
Types of parameters 'scheduler' and 'scheduler' are incompatible.
Type 'Scheduler' is not assignable to type 'Scheduler'. Two different types with this name exist, but they are unrelated.
ERROR in ./src/ui/UI.ts
(60,53): error TS2345: Argument of type 'Stream<LevelCompletion>' is not assignable to parameter of type 'Stream<LevelCompletion>'.
Types of property 'run' are incompatible.
Type '(sink: Sink<LevelCompletion>, scheduler: Scheduler) => Disposable' is not assignable to type '(sink: Sink<LevelCompletion>, scheduler: Scheduler) => Disposable'. Two different types with this name exist, but they are unrelated.
Types of parameters 'scheduler' and 'scheduler' are incompatible.
Type 'Scheduler' is not assignable to type 'Scheduler'. Two different types with this name exist, but they are unrelated.
ERROR in ./src/ui/UI.ts
(62,43): error TS2345: Argument of type 'Stream<true>' is not assignable to parameter of type 'Stream<any>'.
ERROR in ./src/ui/UI.ts
(66,45): error TS2345: Argument of type 'Stream<State>' is not assignable to parameter of type 'Stream<State>'.
ERROR in ./src/ui/UI.ts
(67,55): error TS2345: Argument of type 'Stream<State>' is not assignable to parameter of type 'Stream<State>'.
ERROR in ./src/ui/UI.ts
(68,56): error TS2345: Argument of type 'Stream<State>' is not assignable to parameter of type 'Stream<State>'.
ERROR in ./src/ui/UI.ts
(72,7): error TS2345: Argument of type 'Stream<number>' is not assignable to parameter of type 'Stream<number>'.
Types of property 'run' are incompatible.
Type '(sink: Sink<number>, scheduler: Scheduler) => Disposable' is not assignable to type '(sink: Sink<number>, scheduler: Scheduler) => Disposable'. Two different types with this name exist, but they are unrelated.
Types of parameters 'scheduler' and 'scheduler' are incompatible.
Type 'Scheduler' is not assignable to type 'Scheduler'. Two different types with this name exist, but they are unrelated.
ERROR in ./src/ui/UI.ts
(74,5): error TS2345: Argument of type 'Stream<boolean>' is not assignable to parameter of type 'Stream<boolean>'.
Types of property 'run' are incompatible.
Type '(sink: Sink<boolean>, scheduler: Scheduler) => Disposable' is not assignable to type '(sink: Sink<boolean>, scheduler: Scheduler) => Disposable'. Two different types with this name exist, but they are unrelated.
Types of parameters 'scheduler' and 'scheduler' are incompatible.
Type 'Scheduler' is not assignable to type 'Scheduler'. Two different types with this name exist, but they are unrelated.
ERROR in ./src/ui/UI.ts
(81,3): error TS2322: Type '{ view$: Stream<{}>; go$: Stream<Direction>; start$: Stream<true>; level$: Stream<number>; }' is not assignable to type 'UISinks'.
Type '{ view$: Stream<{}>; go$: Stream<Direction>; start$: Stream<true>; level$: Stream<number>; }' is not assignable to type 'DomSinks'.
Types of property 'view$' are incompatible.
Type 'Stream<{}>' is not assignable to type 'Stream<VNode<Node, VNodeProps<Element, VNodeEvents<Element, ElementEventMap>>>>'.
Types of property 'run' are incompatible.
Type '(sink: Sink<{}>, scheduler: Scheduler) => Disposable' is not assignable to type '(sink: Sink<VNode<Node, VNodeProps<Element, VNodeEvents<Element, ElementEventMap>>>>, scheduler: ...'.
Types of parameters 'scheduler' and 'scheduler' are incompatible.
Type 'Scheduler' is not assignable to type 'Scheduler'. Two different types with this name exist, but they are unrelated.
ERROR in ./src/application/keepState.ts
(14,40): error TS2345: Argument of type 'Stream<Direction>' is not assignable to parameter of type 'Stream<Direction>'.
Types of property 'run' are incompatible.
Type '(sink: Sink<Direction>, scheduler: Scheduler) => Disposable' is not assignable to type '(sink: Sink<Direction>, scheduler: Scheduler) => Disposable'. Two different types with this name exist, but they are unrelated.
Types of parameters 'scheduler' and 'scheduler' are incompatible.
Type 'Scheduler' is not assignable to type 'Scheduler'. Two different types with this name exist, but they are unrelated.
ERROR in ./src/application/elapsedTime.ts
(12,3): error TS2322: Type 'Stream<number>' is not assignable to type 'Stream<Seconds>'.
Types of property 'run' are incompatible.
Type '(sink: Sink<number>, scheduler: Scheduler) => Disposable' is not assignable to type '(sink: Sink<Seconds>, scheduler: Scheduler) => Disposable'.
Types of parameters 'scheduler' and 'scheduler' are incompatible.
Type 'Scheduler' is not assignable to type 'Scheduler'. Two different types with this name exist, but they are unrelated.
ERROR in ./src/application/Application.ts
(12,31): error TS2345: Argument of type 'Stream<number>' is not assignable to parameter of type 'Stream<number>'.
ERROR in ./src/application/Application.ts
(14,43): error TS2345: Argument of type 'Stream<Stream<State>>' is not assignable to parameter of type 'Stream<Stream<State>>'.
Type 'Stream<State>' is not assignable to type 'Stream<State>'. Two different types with this name exist, but they are unrelated.
ERROR in ./src/application/Application.ts
(15,71): error TS2345: Argument of type 'Stream<State>' is not assignable to parameter of type 'Stream<State>'.
ERROR in ./src/application/Application.ts
(20,77): error TS2345: Argument of type 'Stream<number>' is not assignable to parameter of type 'Stream<number>'.
ERROR in ./src/application/Application.ts
(27,20): error TS2345: Argument of type 'Stream<Stream<Seconds>>' is not assignable to parameter of type 'Stream<Stream<Seconds>>'.
Type 'Stream<Seconds>' is not assignable to type 'Stream<Seconds>'. Two different types with this name exist, but they are unrelated.
Types of property 'run' are incompatible.
Type '(sink: Sink<Seconds>, scheduler: Scheduler) => Disposable' is not assignable to type '(sink: Sink<Seconds>, scheduler: Scheduler) => Disposable'. Two different types with this name exist, but they areunrelated.
Types of parameters 'scheduler' and 'scheduler' are incompatible.
Type 'Scheduler' is not assignable to type 'Scheduler'. Two different types with this name exist, but they are unrelated.
ERROR in ./src/application/Application.ts
(32,3): error TS2322: Type '{ state$: Stream<State>; allLevelsCompleted$: Stream<boolean>; elapsedTime$: Stream<Seconds>; }' is not assignable to type 'ApplicationSources'.
Types of property 'allLevelsCompleted$' are incompatible.
Type 'Stream<boolean>' is not assignable to type 'Stream<boolean>'. Two different types with this name exist, but they are unrelated.
Types of property 'run' are incompatible.
Type '(sink: Sink<boolean>, scheduler: Scheduler) => Disposable' is not assignable to type '(sink: Sink<boolean>, scheduler: Scheduler) => Disposable'. Two different types with this name exist, but they are unrelated.
Types of parameters 'scheduler' and 'scheduler' are incompatible.
Type 'Scheduler' is not assignable to type 'Scheduler'. Two different types with this name exist, but they are unrelated.
ERROR in ./src/bootstrap.ts
(19,40): error TS2345: Argument of type 'Stream<VNode<Node, VNodeProps<Element, VNodeEvents<Element, ElementEventMap>>>>' is not assignable to parameter of type 'Stream<VNode<Node, VNodeProps<Element, VNodeEvents<Element, ElementEventMap>>>>'.
Types of property 'run' are incompatible.
Type '(sink: Sink<VNode<Node, VNodeProps<Element, VNodeEvents<Element, ElementEventMap>>>>, scheduler: ...' is not assignable to type '(sink: Sink<VNode<Node, VNodeProps<Element, VNodeEvents<Element, ElementEventMap>>>>, scheduler: ...'. Two different types with this name exist, but they are unrelated.
Types of parameters 'scheduler' and 'scheduler' are incompatible.
Type 'Scheduler' is not assignable to type 'Scheduler'. Two different types with this name exist, but they are unrelated.
Property 'now' is missing in type 'Scheduler'.
Downgrading the dependencies to their prior versions solves the issue but is not a viable solution.