A type checker for the Pyret programming language