2 courses match your filters.
Learn Go from the type system up: structs, methods and interfaces, then slices, maps, errors as values, and goroutines with channels.
Go · Concurrency · Interfaces · Backend
Output-based
Add a static type system to JavaScript: annotations, inference, interfaces, unions, narrowing and generics.
TypeScript · JavaScript · Static Typing
Output-based