Fun with types