Qualified Types by Mark P. Jones