We describe our experience teaching an advanced typed functional programming course based around the use of System Fω as a programming language.