Doctor Who adventures in code (Principals of Programming Language Paper)