It would also be helpful to have resources regarding the type notation that he uses. I imagine that the notation is the same regardless of the language you use to apply it, but I'm not in a position to be sure. E.g. http://learnyouahaskell.com/types-and-typeclasses
Yes he's borrowing the type notation from haskell to make his intentions clear, but of course this is only conceptual, and comments can be wrong - you'd need something like TypeScript to actually get feedback on types.