type LayerServices<T extends Layer.Layer<never, unknown, unknown>> =
T extends Layer.Layer<infer S, unknown, unknown> ? S : never;
type LayerServices<T extends Layer.Layer<never, unknown, unknown>> =
T extends Layer.Layer<infer S, unknown, unknown> ? S : never;