Containers, monads and induction recursion - GHANI, NEIL (Mathematical Structures in Computer Science)