<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <!--Rendered using the Haskell Html Library v0.2--> <HTML ><HEAD ><META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=UTF-8" ><TITLE >TcMType</TITLE ><LINK HREF="haddock.css" REL="stylesheet" TYPE="text/css" ><SCRIPT SRC="haddock-util.js" TYPE="text/javascript" ></SCRIPT ><SCRIPT TYPE="text/javascript" >window.onload = function () {setSynopsis("mini_TcMType.html")};</SCRIPT ></HEAD ><BODY ><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0" ><TR ><TD CLASS="topbar" ><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0" ><TR ><TD ><IMG SRC="haskell_icon.gif" WIDTH="16" HEIGHT="16" ALT=" " ></TD ><TD CLASS="title" >ghc-6.12.3: The GHC API</TD ><TD CLASS="topbut" ><A HREF="index.html" >Contents</A ></TD ><TD CLASS="topbut" ><A HREF="doc-index.html" >Index</A ></TD ></TR ></TABLE ></TD ></TR ><TR ><TD CLASS="modulebar" ><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0" ><TR ><TD ><FONT SIZE="6" >TcMType</FONT ></TD ></TR ></TABLE ></TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="section1" >Documentation</TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="decl" ><SPAN CLASS="keyword" >type</SPAN > <A NAME="t:TcTyVar" ><A NAME="t%3ATcTyVar" ></A ></A ><B >TcTyVar</B > = <A HREF="Var.html#t%3ATyVar" >TyVar</A ></TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="decl" ><SPAN CLASS="keyword" >type</SPAN > <A NAME="t:TcKind" ><A NAME="t%3ATcKind" ></A ></A ><B >TcKind</B > = <A HREF="Type.html#t%3AKind" >Kind</A ></TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="decl" ><SPAN CLASS="keyword" >type</SPAN > <A NAME="t:TcType" ><A NAME="t%3ATcType" ></A ></A ><B >TcType</B > = <A HREF="Type.html#t%3AType" >Type</A ></TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="decl" ><SPAN CLASS="keyword" >type</SPAN > <A NAME="t:TcTauType" ><A NAME="t%3ATcTauType" ></A ></A ><B >TcTauType</B > = <A HREF="TcMType.html#t%3ATcType" >TcType</A ></TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="decl" ><SPAN CLASS="keyword" >type</SPAN > <A NAME="t:TcThetaType" ><A NAME="t%3ATcThetaType" ></A ></A ><B >TcThetaType</B > = <A HREF="Type.html#t%3AThetaType" >ThetaType</A ></TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="decl" ><SPAN CLASS="keyword" >type</SPAN > <A NAME="t:TcTyVarSet" ><A NAME="t%3ATcTyVarSet" ></A ></A ><B >TcTyVarSet</B > = <A HREF="VarSet.html#t%3ATyVarSet" >TyVarSet</A ></TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="decl" ><A NAME="v:newFlexiTyVar" ><A NAME="v%3AnewFlexiTyVar" ></A ></A ><B >newFlexiTyVar</B > :: <A HREF="Type.html#t%3AKind" >Kind</A > -> <A HREF="TcRnTypes.html#t%3ATcM" >TcM</A > <A HREF="TcMType.html#t%3ATcTyVar" >TcTyVar</A ></TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="decl" ><A NAME="v:newFlexiTyVarTy" ><A NAME="v%3AnewFlexiTyVarTy" ></A ></A ><B >newFlexiTyVarTy</B > :: <A HREF="Type.html#t%3AKind" >Kind</A > -> <A HREF="TcRnTypes.html#t%3ATcM" >TcM</A > <A HREF="TcMType.html#t%3ATcType" >TcType</A ></TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="decl" ><A NAME="v:newFlexiTyVarTys" ><A NAME="v%3AnewFlexiTyVarTys" ></A ></A ><B >newFlexiTyVarTys</B > :: <A HREF="../base-4.2.0.2/Data-Int.html#t%3AInt" >Int</A > -> <A HREF="Type.html#t%3AKind" >Kind</A > -> <A HREF="TcRnTypes.html#t%3ATcM" >TcM</A > [<A HREF="TcMType.html#t%3ATcType" >TcType</A >]</TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="decl" ><A NAME="v:newKindVar" ><A NAME="v%3AnewKindVar" ></A ></A ><B >newKindVar</B > :: <A HREF="TcRnTypes.html#t%3ATcM" >TcM</A > <A HREF="TcMType.html#t%3ATcKind" >TcKind</A ></TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="decl" ><A NAME="v:newKindVars" ><A NAME="v%3AnewKindVars" ></A ></A ><B >newKindVars</B > :: <A HREF="../base-4.2.0.2/Data-Int.html#t%3AInt" >Int</A > -> <A HREF="TcRnTypes.html#t%3ATcM" >TcM</A > [<A HREF="TcMType.html#t%3ATcKind" >TcKind</A >]</TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="decl" ><A NAME="v:lookupTcTyVar" ><A NAME="v%3AlookupTcTyVar" ></A ></A ><B >lookupTcTyVar</B > :: <A HREF="TcMType.html#t%3ATcTyVar" >TcTyVar</A > -> <A HREF="TcRnTypes.html#t%3ATcM" >TcM</A > <A HREF="TcMType.html#t%3ALookupTyVarResult" >LookupTyVarResult</A ></TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="decl" ><SPAN CLASS="keyword" >data</SPAN > <A NAME="t:LookupTyVarResult" ><A NAME="t%3ALookupTyVarResult" ></A ></A ><B >LookupTyVarResult</B > </TD ></TR ><TR ><TD CLASS="body" ><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0" ><TR ><TD CLASS="section4" >Constructors</TD ></TR ><TR ><TD CLASS="body" ><TABLE CLASS="vanilla" CELLSPACING="1" CELLPADDING="0" ><TR ><TD CLASS="arg" ><A NAME="v:DoneTv" ><A NAME="v%3ADoneTv" ></A ></A ><B >DoneTv</B > <A HREF="TcType.html#t%3ATcTyVarDetails" >TcTyVarDetails</A ></TD ><TD CLASS="rdoc" ></TD ></TR ><TR ><TD CLASS="arg" ><A NAME="v:IndirectTv" ><A NAME="v%3AIndirectTv" ></A ></A ><B >IndirectTv</B > <A HREF="TcMType.html#t%3ATcType" >TcType</A ></TD ><TD CLASS="rdoc" ></TD ></TR ></TABLE ></TD ></TR ></TABLE ></TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="decl" ><A NAME="v:newMetaTyVar" ><A NAME="v%3AnewMetaTyVar" ></A ></A ><B >newMetaTyVar</B > :: <A HREF="TcType.html#t%3ABoxInfo" >BoxInfo</A > -> <A HREF="Type.html#t%3AKind" >Kind</A > -> <A HREF="TcRnTypes.html#t%3ATcM" >TcM</A > <A HREF="TcMType.html#t%3ATcTyVar" >TcTyVar</A ></TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="decl" ><A NAME="v:readMetaTyVar" ><A NAME="v%3AreadMetaTyVar" ></A ></A ><B >readMetaTyVar</B > :: <A HREF="Var.html#t%3ATyVar" >TyVar</A > -> <A HREF="TcRnTypes.html#t%3ATcM" >TcM</A > <A HREF="TcType.html#t%3AMetaDetails" >MetaDetails</A ></TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="decl" ><A NAME="v:writeMetaTyVar" ><A NAME="v%3AwriteMetaTyVar" ></A ></A ><B >writeMetaTyVar</B > :: <A HREF="TcMType.html#t%3ATcTyVar" >TcTyVar</A > -> <A HREF="TcMType.html#t%3ATcType" >TcType</A > -> <A HREF="TcRnTypes.html#t%3ATcM" >TcM</A > <A HREF="../ghc-prim-0.2.0.0/GHC-Unit.html#t%3A%28%29" >()</A ></TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="decl" ><A NAME="v:isFilledMetaTyVar" ><A NAME="v%3AisFilledMetaTyVar" ></A ></A ><B >isFilledMetaTyVar</B > :: <A HREF="Var.html#t%3ATyVar" >TyVar</A > -> <A HREF="TcRnTypes.html#t%3ATcM" >TcM</A > <A HREF="../base-4.2.0.2/Data-Bool.html#t%3ABool" >Bool</A ></TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="decl" ><A NAME="v:newBoxyTyVar" ><A NAME="v%3AnewBoxyTyVar" ></A ></A ><B >newBoxyTyVar</B > :: <A HREF="Type.html#t%3AKind" >Kind</A > -> <A HREF="TcRnTypes.html#t%3ATcM" >TcM</A > <A HREF="TcType.html#t%3ABoxyTyVar" >BoxyTyVar</A ></TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="decl" ><A NAME="v:newBoxyTyVars" ><A NAME="v%3AnewBoxyTyVars" ></A ></A ><B >newBoxyTyVars</B > :: [<A HREF="Type.html#t%3AKind" >Kind</A >] -> <A HREF="TcRnTypes.html#t%3ATcM" >TcM</A > [<A HREF="TcType.html#t%3ABoxyTyVar" >BoxyTyVar</A >]</TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="decl" ><A NAME="v:newBoxyTyVarTys" ><A NAME="v%3AnewBoxyTyVarTys" ></A ></A ><B >newBoxyTyVarTys</B > :: [<A HREF="Type.html#t%3AKind" >Kind</A >] -> <A HREF="TcRnTypes.html#t%3ATcM" >TcM</A > [<A HREF="TcType.html#t%3ABoxyType" >BoxyType</A >]</TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="decl" ><A NAME="v:readFilledBox" ><A NAME="v%3AreadFilledBox" ></A ></A ><B >readFilledBox</B > :: <A HREF="TcType.html#t%3ABoxyTyVar" >BoxyTyVar</A > -> <A HREF="TcRnTypes.html#t%3ATcM" >TcM</A > <A HREF="TcMType.html#t%3ATcType" >TcType</A ></TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="decl" ><A NAME="v:newCoVars" ><A NAME="v%3AnewCoVars" ></A ></A ><B >newCoVars</B > :: [(<A HREF="TcMType.html#t%3ATcType" >TcType</A >, <A HREF="TcMType.html#t%3ATcType" >TcType</A >)] -> <A HREF="TcRnTypes.html#t%3ATcM" >TcM</A > [<A HREF="Var.html#t%3ACoVar" >CoVar</A >]</TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="decl" ><A NAME="v:newMetaCoVar" ><A NAME="v%3AnewMetaCoVar" ></A ></A ><B >newMetaCoVar</B > :: <A HREF="TcMType.html#t%3ATcType" >TcType</A > -> <A HREF="TcMType.html#t%3ATcType" >TcType</A > -> <A HREF="TcRnTypes.html#t%3ATcM" >TcM</A > <A HREF="TcMType.html#t%3ATcTyVar" >TcTyVar</A ></TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="decl" ><A NAME="v:tcInstTyVar" ><A NAME="v%3AtcInstTyVar" ></A ></A ><B >tcInstTyVar</B > :: <A HREF="Var.html#t%3ATyVar" >TyVar</A > -> <A HREF="TcRnTypes.html#t%3ATcM" >TcM</A > <A HREF="TcMType.html#t%3ATcTyVar" >TcTyVar</A ></TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="decl" ><A NAME="v:tcInstType" ><A NAME="v%3AtcInstType" ></A ></A ><B >tcInstType</B > :: ([<A HREF="Var.html#t%3ATyVar" >TyVar</A >] -> <A HREF="TcRnTypes.html#t%3ATcM" >TcM</A > [<A HREF="TcMType.html#t%3ATcTyVar" >TcTyVar</A >]) -> <A HREF="TcMType.html#t%3ATcType" >TcType</A > -> <A HREF="TcRnTypes.html#t%3ATcM" >TcM</A > ([<A HREF="TcMType.html#t%3ATcTyVar" >TcTyVar</A >], <A HREF="TcMType.html#t%3ATcThetaType" >TcThetaType</A >, <A HREF="TcMType.html#t%3ATcType" >TcType</A >)</TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="decl" ><A NAME="v:tcInstTyVars" ><A NAME="v%3AtcInstTyVars" ></A ></A ><B >tcInstTyVars</B > :: [<A HREF="Var.html#t%3ATyVar" >TyVar</A >] -> <A HREF="TcRnTypes.html#t%3ATcM" >TcM</A > ([<A HREF="TcMType.html#t%3ATcTyVar" >TcTyVar</A >], [<A HREF="TcMType.html#t%3ATcType" >TcType</A >], <A HREF="Type.html#t%3ATvSubst" >TvSubst</A >)</TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="decl" ><A NAME="v:tcInstBoxyTyVar" ><A NAME="v%3AtcInstBoxyTyVar" ></A ></A ><B >tcInstBoxyTyVar</B > :: <A HREF="Var.html#t%3ATyVar" >TyVar</A > -> <A HREF="TcRnTypes.html#t%3ATcM" >TcM</A > <A HREF="TcType.html#t%3ABoxyTyVar" >BoxyTyVar</A ></TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="decl" ><A NAME="v:tcInstSigType" ><A NAME="v%3AtcInstSigType" ></A ></A ><B >tcInstSigType</B > :: <A HREF="../base-4.2.0.2/Data-Bool.html#t%3ABool" >Bool</A > -> <A HREF="TcType.html#t%3ASkolemInfo" >SkolemInfo</A > -> <A HREF="TcMType.html#t%3ATcType" >TcType</A > -> <A HREF="TcRnTypes.html#t%3ATcM" >TcM</A > ([<A HREF="TcMType.html#t%3ATcTyVar" >TcTyVar</A >], <A HREF="TcMType.html#t%3ATcThetaType" >TcThetaType</A >, <A HREF="TcType.html#t%3ATcRhoType" >TcRhoType</A >)</TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="decl" ><A NAME="v:tcInstSkolTyVars" ><A NAME="v%3AtcInstSkolTyVars" ></A ></A ><B >tcInstSkolTyVars</B > :: <A HREF="TcType.html#t%3ASkolemInfo" >SkolemInfo</A > -> [<A HREF="Var.html#t%3ATyVar" >TyVar</A >] -> <A HREF="TcRnTypes.html#t%3ATcM" >TcM</A > [<A HREF="TcMType.html#t%3ATcTyVar" >TcTyVar</A >]</TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="decl" ><A NAME="v:tcInstSkolType" ><A NAME="v%3AtcInstSkolType" ></A ></A ><B >tcInstSkolType</B > :: <A HREF="TcType.html#t%3ASkolemInfo" >SkolemInfo</A > -> <A HREF="TcMType.html#t%3ATcType" >TcType</A > -> <A HREF="TcRnTypes.html#t%3ATcM" >TcM</A > ([<A HREF="TcMType.html#t%3ATcTyVar" >TcTyVar</A >], <A HREF="TcMType.html#t%3ATcThetaType" >TcThetaType</A >, <A HREF="TcMType.html#t%3ATcType" >TcType</A >)</TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="decl" ><A NAME="v:tcSkolSigType" ><A NAME="v%3AtcSkolSigType" ></A ></A ><B >tcSkolSigType</B > :: <A HREF="TcType.html#t%3ASkolemInfo" >SkolemInfo</A > -> <A HREF="Type.html#t%3AType" >Type</A > -> <A HREF="TcRnTypes.html#t%3ATcM" >TcM</A > ([<A HREF="TcMType.html#t%3ATcTyVar" >TcTyVar</A >], <A HREF="TcMType.html#t%3ATcThetaType" >TcThetaType</A >, <A HREF="TcMType.html#t%3ATcType" >TcType</A >)</TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="decl" ><A NAME="v:tcSkolSigTyVars" ><A NAME="v%3AtcSkolSigTyVars" ></A ></A ><B >tcSkolSigTyVars</B > :: <A HREF="TcType.html#t%3ASkolemInfo" >SkolemInfo</A > -> [<A HREF="Var.html#t%3ATyVar" >TyVar</A >] -> [<A HREF="TcMType.html#t%3ATcTyVar" >TcTyVar</A >]</TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="decl" ><A NAME="v:occurCheckErr" ><A NAME="v%3AoccurCheckErr" ></A ></A ><B >occurCheckErr</B > :: <A HREF="TcMType.html#t%3ATcType" >TcType</A > -> <A HREF="TcMType.html#t%3ATcType" >TcType</A > -> <A HREF="TcRnTypes.html#t%3ATcM" >TcM</A > a</TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="decl" ><A NAME="v:execTcTyVarBinds" ><A NAME="v%3AexecTcTyVarBinds" ></A ></A ><B >execTcTyVarBinds</B > :: <A HREF="TcRnTypes.html#t%3ATcTyVarBinds" >TcTyVarBinds</A > -> <A HREF="TcRnTypes.html#t%3ATcM" >TcM</A > <A HREF="../ghc-prim-0.2.0.0/GHC-Unit.html#t%3A%28%29" >()</A ></TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="decl" ><SPAN CLASS="keyword" >data</SPAN > <A NAME="t:Rank" ><A NAME="t%3ARank" ></A ></A ><B >Rank</B > </TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="decl" ><SPAN CLASS="keyword" >data</SPAN > <A NAME="t:UserTypeCtxt" ><A NAME="t%3AUserTypeCtxt" ></A ></A ><B >UserTypeCtxt</B > </TD ></TR ><TR ><TD CLASS="body" ><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0" ><TR ><TD CLASS="section4" >Constructors</TD ></TR ><TR ><TD CLASS="body" ><TABLE CLASS="vanilla" CELLSPACING="1" CELLPADDING="0" ><TR ><TD CLASS="arg" ><A NAME="v:FunSigCtxt" ><A NAME="v%3AFunSigCtxt" ></A ></A ><B >FunSigCtxt</B > <A HREF="Name.html#t%3AName" >Name</A ></TD ><TD CLASS="rdoc" ></TD ></TR ><TR ><TD CLASS="arg" ><A NAME="v:ExprSigCtxt" ><A NAME="v%3AExprSigCtxt" ></A ></A ><B >ExprSigCtxt</B ></TD ><TD CLASS="rdoc" ></TD ></TR ><TR ><TD CLASS="arg" ><A NAME="v:ConArgCtxt" ><A NAME="v%3AConArgCtxt" ></A ></A ><B >ConArgCtxt</B > <A HREF="Name.html#t%3AName" >Name</A ></TD ><TD CLASS="rdoc" ></TD ></TR ><TR ><TD CLASS="arg" ><A NAME="v:TySynCtxt" ><A NAME="v%3ATySynCtxt" ></A ></A ><B >TySynCtxt</B > <A HREF="Name.html#t%3AName" >Name</A ></TD ><TD CLASS="rdoc" ></TD ></TR ><TR ><TD CLASS="arg" ><A NAME="v:GenPatCtxt" ><A NAME="v%3AGenPatCtxt" ></A ></A ><B >GenPatCtxt</B ></TD ><TD CLASS="rdoc" ></TD ></TR ><TR ><TD CLASS="arg" ><A NAME="v:LamPatSigCtxt" ><A NAME="v%3ALamPatSigCtxt" ></A ></A ><B >LamPatSigCtxt</B ></TD ><TD CLASS="rdoc" ></TD ></TR ><TR ><TD CLASS="arg" ><A NAME="v:BindPatSigCtxt" ><A NAME="v%3ABindPatSigCtxt" ></A ></A ><B >BindPatSigCtxt</B ></TD ><TD CLASS="rdoc" ></TD ></TR ><TR ><TD CLASS="arg" ><A NAME="v:ResSigCtxt" ><A NAME="v%3AResSigCtxt" ></A ></A ><B >ResSigCtxt</B ></TD ><TD CLASS="rdoc" ></TD ></TR ><TR ><TD CLASS="arg" ><A NAME="v:ForSigCtxt" ><A NAME="v%3AForSigCtxt" ></A ></A ><B >ForSigCtxt</B > <A HREF="Name.html#t%3AName" >Name</A ></TD ><TD CLASS="rdoc" ></TD ></TR ><TR ><TD CLASS="arg" ><A NAME="v:DefaultDeclCtxt" ><A NAME="v%3ADefaultDeclCtxt" ></A ></A ><B >DefaultDeclCtxt</B ></TD ><TD CLASS="rdoc" ></TD ></TR ><TR ><TD CLASS="arg" ><A NAME="v:SpecInstCtxt" ><A NAME="v%3ASpecInstCtxt" ></A ></A ><B >SpecInstCtxt</B ></TD ><TD CLASS="rdoc" ></TD ></TR ><TR ><TD CLASS="arg" ><A NAME="v:ThBrackCtxt" ><A NAME="v%3AThBrackCtxt" ></A ></A ><B >ThBrackCtxt</B ></TD ><TD CLASS="rdoc" ></TD ></TR ></TABLE ></TD ></TR ></TABLE ></TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="decl" ><A NAME="v:checkValidType" ><A NAME="v%3AcheckValidType" ></A ></A ><B >checkValidType</B > :: <A HREF="TcMType.html#t%3AUserTypeCtxt" >UserTypeCtxt</A > -> <A HREF="Type.html#t%3AType" >Type</A > -> <A HREF="TcRnTypes.html#t%3ATcM" >TcM</A > <A HREF="../ghc-prim-0.2.0.0/GHC-Unit.html#t%3A%28%29" >()</A ></TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="decl" ><A NAME="v:checkValidMonoType" ><A NAME="v%3AcheckValidMonoType" ></A ></A ><B >checkValidMonoType</B > :: <A HREF="Type.html#t%3AType" >Type</A > -> <A HREF="TcRnTypes.html#t%3ATcM" >TcM</A > <A HREF="../ghc-prim-0.2.0.0/GHC-Unit.html#t%3A%28%29" >()</A ></TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="decl" ><SPAN CLASS="keyword" >data</SPAN > <A NAME="t:SourceTyCtxt" ><A NAME="t%3ASourceTyCtxt" ></A ></A ><B >SourceTyCtxt</B > </TD ></TR ><TR ><TD CLASS="body" ><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0" ><TR ><TD CLASS="section4" >Constructors</TD ></TR ><TR ><TD CLASS="body" ><TABLE CLASS="vanilla" CELLSPACING="1" CELLPADDING="0" ><TR ><TD CLASS="arg" ><A NAME="v:ClassSCCtxt" ><A NAME="v%3AClassSCCtxt" ></A ></A ><B >ClassSCCtxt</B > <A HREF="Name.html#t%3AName" >Name</A ></TD ><TD CLASS="rdoc" ></TD ></TR ><TR ><TD CLASS="arg" ><A NAME="v:SigmaCtxt" ><A NAME="v%3ASigmaCtxt" ></A ></A ><B >SigmaCtxt</B ></TD ><TD CLASS="rdoc" ></TD ></TR ><TR ><TD CLASS="arg" ><A NAME="v:DataTyCtxt" ><A NAME="v%3ADataTyCtxt" ></A ></A ><B >DataTyCtxt</B > <A HREF="Name.html#t%3AName" >Name</A ></TD ><TD CLASS="rdoc" ></TD ></TR ><TR ><TD CLASS="arg" ><A NAME="v:TypeCtxt" ><A NAME="v%3ATypeCtxt" ></A ></A ><B >TypeCtxt</B ></TD ><TD CLASS="rdoc" ></TD ></TR ><TR ><TD CLASS="arg" ><A NAME="v:InstThetaCtxt" ><A NAME="v%3AInstThetaCtxt" ></A ></A ><B >InstThetaCtxt</B ></TD ><TD CLASS="rdoc" ></TD ></TR ></TABLE ></TD ></TR ></TABLE ></TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="decl" ><A NAME="v:checkValidTheta" ><A NAME="v%3AcheckValidTheta" ></A ></A ><B >checkValidTheta</B > :: <A HREF="TcMType.html#t%3ASourceTyCtxt" >SourceTyCtxt</A > -> <A HREF="Type.html#t%3AThetaType" >ThetaType</A > -> <A HREF="TcRnTypes.html#t%3ATcM" >TcM</A > <A HREF="../ghc-prim-0.2.0.0/GHC-Unit.html#t%3A%28%29" >()</A ></TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="decl" ><A NAME="v:checkFreeness" ><A NAME="v%3AcheckFreeness" ></A ></A ><B >checkFreeness</B > :: [<A HREF="Var.html#t%3AVar" >Var</A >] -> [<A HREF="Type.html#t%3APredType" >PredType</A >] -> <A HREF="TcRnTypes.html#t%3ATcM" >TcM</A > <A HREF="../ghc-prim-0.2.0.0/GHC-Unit.html#t%3A%28%29" >()</A ></TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="decl" ><A NAME="v:checkValidInstHead" ><A NAME="v%3AcheckValidInstHead" ></A ></A ><B >checkValidInstHead</B > :: <A HREF="Type.html#t%3AType" >Type</A > -> <A HREF="TcRnTypes.html#t%3ATcM" >TcM</A > (<A HREF="Class.html#t%3AClass" >Class</A >, [<A HREF="TcMType.html#t%3ATcType" >TcType</A >])</TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="decl" ><A NAME="v:checkValidInstance" ><A NAME="v%3AcheckValidInstance" ></A ></A ><B >checkValidInstance</B > :: [<A HREF="Var.html#t%3ATyVar" >TyVar</A >] -> <A HREF="Type.html#t%3AThetaType" >ThetaType</A > -> <A HREF="Class.html#t%3AClass" >Class</A > -> [<A HREF="TcMType.html#t%3ATcType" >TcType</A >] -> <A HREF="TcRnTypes.html#t%3ATcM" >TcM</A > <A HREF="../ghc-prim-0.2.0.0/GHC-Unit.html#t%3A%28%29" >()</A ></TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="decl" ><A NAME="v:checkInstTermination" ><A NAME="v%3AcheckInstTermination" ></A ></A ><B >checkInstTermination</B > :: [<A HREF="TcMType.html#t%3ATcType" >TcType</A >] -> <A HREF="Type.html#t%3AThetaType" >ThetaType</A > -> [<A HREF="ErrUtils.html#t%3AMessage" >Message</A >]</TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="decl" ><A NAME="v:checkValidTypeInst" ><A NAME="v%3AcheckValidTypeInst" ></A ></A ><B >checkValidTypeInst</B > :: [<A HREF="Type.html#t%3AType" >Type</A >] -> <A HREF="Type.html#t%3AType" >Type</A > -> <A HREF="TcRnTypes.html#t%3ATcM" >TcM</A > <A HREF="../ghc-prim-0.2.0.0/GHC-Unit.html#t%3A%28%29" >()</A ></TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="decl" ><A NAME="v:checkTyFamFreeness" ><A NAME="v%3AcheckTyFamFreeness" ></A ></A ><B >checkTyFamFreeness</B > :: <A HREF="Type.html#t%3AType" >Type</A > -> <A HREF="TcRnTypes.html#t%3ATcM" >TcM</A > <A HREF="../ghc-prim-0.2.0.0/GHC-Unit.html#t%3A%28%29" >()</A ></TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="decl" ><A NAME="v:checkKinds" ><A NAME="v%3AcheckKinds" ></A ></A ><B >checkKinds</B > :: <A HREF="../base-4.2.0.2/Data-Bool.html#t%3ABool" >Bool</A > -> <A HREF="Var.html#t%3ATyVar" >TyVar</A > -> <A HREF="Type.html#t%3AType" >Type</A > -> <A HREF="TcRnTypes.html#t%3ATcM" >TcM</A > <A HREF="../ghc-prim-0.2.0.0/GHC-Unit.html#t%3A%28%29" >()</A ></TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="decl" ><A NAME="v:checkUpdateMeta" ><A NAME="v%3AcheckUpdateMeta" ></A ></A ><B >checkUpdateMeta</B > :: SwapFlag -> <A HREF="TcMType.html#t%3ATcTyVar" >TcTyVar</A > -> <A HREF="IOEnv.html#t%3AIORef" >IORef</A > <A HREF="TcType.html#t%3AMetaDetails" >MetaDetails</A > -> <A HREF="TcMType.html#t%3ATcType" >TcType</A > -> <A HREF="TcRnTypes.html#t%3ATcM" >TcM</A > <A HREF="../ghc-prim-0.2.0.0/GHC-Unit.html#t%3A%28%29" >()</A ></TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="decl" ><A NAME="v:updateMeta" ><A NAME="v%3AupdateMeta" ></A ></A ><B >updateMeta</B > :: <A HREF="TcMType.html#t%3ATcTyVar" >TcTyVar</A > -> <A HREF="IOEnv.html#t%3AIORef" >IORef</A > <A HREF="TcType.html#t%3AMetaDetails" >MetaDetails</A > -> <A HREF="TcMType.html#t%3ATcType" >TcType</A > -> <A HREF="TcRnTypes.html#t%3ATcM" >TcM</A > <A HREF="../ghc-prim-0.2.0.0/GHC-Unit.html#t%3A%28%29" >()</A ></TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="decl" ><A NAME="v:checkTauTvUpdate" ><A NAME="v%3AcheckTauTvUpdate" ></A ></A ><B >checkTauTvUpdate</B > :: <A HREF="TcMType.html#t%3ATcTyVar" >TcTyVar</A > -> <A HREF="TcMType.html#t%3ATcType" >TcType</A > -> <A HREF="TcRnTypes.html#t%3ATcM" >TcM</A > (<A HREF="../base-4.2.0.2/Data-Maybe.html#t%3AMaybe" >Maybe</A > <A HREF="TcMType.html#t%3ATcType" >TcType</A >)</TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="decl" ><A NAME="v:fillBoxWithTau" ><A NAME="v%3AfillBoxWithTau" ></A ></A ><B >fillBoxWithTau</B > :: <A HREF="TcType.html#t%3ABoxyTyVar" >BoxyTyVar</A > -> <A HREF="IOEnv.html#t%3AIORef" >IORef</A > <A HREF="TcType.html#t%3AMetaDetails" >MetaDetails</A > -> <A HREF="TcRnTypes.html#t%3ATcM" >TcM</A > <A HREF="TcMType.html#t%3ATcType" >TcType</A ></TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="decl" ><A NAME="v:unifyKindCtxt" ><A NAME="v%3AunifyKindCtxt" ></A ></A ><B >unifyKindCtxt</B > :: <A HREF="../base-4.2.0.2/Data-Bool.html#t%3ABool" >Bool</A > -> <A HREF="Var.html#t%3ATyVar" >TyVar</A > -> <A HREF="Type.html#t%3AType" >Type</A > -> <A HREF="VarEnv.html#t%3ATidyEnv" >TidyEnv</A > -> <A HREF="TcRnTypes.html#t%3ATcM" >TcM</A > (<A HREF="VarEnv.html#t%3ATidyEnv" >TidyEnv</A >, <A HREF="Outputable.html#t%3ASDoc" >SDoc</A >)</TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="decl" ><A NAME="v:unifyKindMisMatch" ><A NAME="v%3AunifyKindMisMatch" ></A ></A ><B >unifyKindMisMatch</B > :: <A HREF="TcMType.html#t%3ATcKind" >TcKind</A > -> <A HREF="TcMType.html#t%3ATcKind" >TcKind</A > -> <A HREF="TcRnTypes.html#t%3ATcM" >TcM</A > <A HREF="../ghc-prim-0.2.0.0/GHC-Unit.html#t%3A%28%29" >()</A ></TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="decl" ><A NAME="v:validDerivPred" ><A NAME="v%3AvalidDerivPred" ></A ></A ><B >validDerivPred</B > :: <A HREF="Type.html#t%3APredType" >PredType</A > -> <A HREF="../base-4.2.0.2/Data-Bool.html#t%3ABool" >Bool</A ></TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="decl" ><A NAME="v:arityErr" ><A NAME="v%3AarityErr" ></A ></A ><B >arityErr</B > :: <A HREF="Outputable.html#t%3AOutputable" >Outputable</A > a => <A HREF="../base-4.2.0.2/Data-Char.html#t%3AString" >String</A > -> a -> <A HREF="../base-4.2.0.2/Data-Int.html#t%3AInt" >Int</A > -> <A HREF="../base-4.2.0.2/Data-Int.html#t%3AInt" >Int</A > -> <A HREF="Outputable.html#t%3ASDoc" >SDoc</A ></TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="decl" ><A NAME="v:notMonoType" ><A NAME="v%3AnotMonoType" ></A ></A ><B >notMonoType</B > :: <A HREF="TcMType.html#t%3ATcType" >TcType</A > -> <A HREF="TcRnTypes.html#t%3ATcM" >TcM</A > a</TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="decl" ><A NAME="v:notMonoArgs" ><A NAME="v%3AnotMonoArgs" ></A ></A ><B >notMonoArgs</B > :: <A HREF="TcMType.html#t%3ATcType" >TcType</A > -> <A HREF="TcRnTypes.html#t%3ATcM" >TcM</A > a</TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="decl" ><A NAME="v:growPredTyVars" ><A NAME="v%3AgrowPredTyVars" ></A ></A ><B >growPredTyVars</B > :: <A HREF="TcType.html#t%3ATcPredType" >TcPredType</A > -> <A HREF="VarSet.html#t%3ATyVarSet" >TyVarSet</A > -> <A HREF="VarSet.html#t%3ATyVarSet" >TyVarSet</A ></TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="decl" ><A NAME="v:growTyVars" ><A NAME="v%3AgrowTyVars" ></A ></A ><B >growTyVars</B > :: <A HREF="VarSet.html#t%3ATyVarSet" >TyVarSet</A > -> <A HREF="VarSet.html#t%3ATyVarSet" >TyVarSet</A > -> <A HREF="VarSet.html#t%3ATyVarSet" >TyVarSet</A ></TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="decl" ><A NAME="v:growThetaTyVars" ><A NAME="v%3AgrowThetaTyVars" ></A ></A ><B >growThetaTyVars</B > :: <A HREF="TcMType.html#t%3ATcThetaType" >TcThetaType</A > -> <A HREF="VarSet.html#t%3ATyVarSet" >TyVarSet</A > -> <A HREF="VarSet.html#t%3ATyVarSet" >TyVarSet</A ></TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="decl" ><A NAME="v:zonkType" ><A NAME="v%3AzonkType" ></A ></A ><B >zonkType</B > :: (<A HREF="TcMType.html#t%3ATcTyVar" >TcTyVar</A > -> <A HREF="TcRnTypes.html#t%3ATcM" >TcM</A > <A HREF="Type.html#t%3AType" >Type</A >) -> <A HREF="TcMType.html#t%3ATcType" >TcType</A > -> <A HREF="TcRnTypes.html#t%3ATcM" >TcM</A > <A HREF="Type.html#t%3AType" >Type</A ></TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="decl" ><A NAME="v:zonkTcPredType" ><A NAME="v%3AzonkTcPredType" ></A ></A ><B >zonkTcPredType</B > :: <A HREF="TcType.html#t%3ATcPredType" >TcPredType</A > -> <A HREF="TcRnTypes.html#t%3ATcM" >TcM</A > <A HREF="TcType.html#t%3ATcPredType" >TcPredType</A ></TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="decl" ><A NAME="v:zonkTcTyVar" ><A NAME="v%3AzonkTcTyVar" ></A ></A ><B >zonkTcTyVar</B > :: <A HREF="TcMType.html#t%3ATcTyVar" >TcTyVar</A > -> <A HREF="TcRnTypes.html#t%3ATcM" >TcM</A > <A HREF="TcMType.html#t%3ATcType" >TcType</A ></TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="decl" ><A NAME="v:zonkTcTyVars" ><A NAME="v%3AzonkTcTyVars" ></A ></A ><B >zonkTcTyVars</B > :: [<A HREF="TcMType.html#t%3ATcTyVar" >TcTyVar</A >] -> <A HREF="TcRnTypes.html#t%3ATcM" >TcM</A > [<A HREF="TcMType.html#t%3ATcType" >TcType</A >]</TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="decl" ><A NAME="v:zonkTcTyVarsAndFV" ><A NAME="v%3AzonkTcTyVarsAndFV" ></A ></A ><B >zonkTcTyVarsAndFV</B > :: [<A HREF="TcMType.html#t%3ATcTyVar" >TcTyVar</A >] -> <A HREF="TcRnTypes.html#t%3ATcM" >TcM</A > <A HREF="TcMType.html#t%3ATcTyVarSet" >TcTyVarSet</A ></TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="decl" ><A NAME="v:zonkSigTyVar" ><A NAME="v%3AzonkSigTyVar" ></A ></A ><B >zonkSigTyVar</B > :: <A HREF="TcMType.html#t%3ATcTyVar" >TcTyVar</A > -> <A HREF="TcRnTypes.html#t%3ATcM" >TcM</A > <A HREF="TcMType.html#t%3ATcTyVar" >TcTyVar</A ></TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="decl" ><A NAME="v:zonkQuantifiedTyVar" ><A NAME="v%3AzonkQuantifiedTyVar" ></A ></A ><B >zonkQuantifiedTyVar</B > :: <A HREF="TcMType.html#t%3ATcTyVar" >TcTyVar</A > -> <A HREF="TcRnTypes.html#t%3ATcM" >TcM</A > <A HREF="TcMType.html#t%3ATcTyVar" >TcTyVar</A ></TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="decl" ><A NAME="v:zonkQuantifiedTyVars" ><A NAME="v%3AzonkQuantifiedTyVars" ></A ></A ><B >zonkQuantifiedTyVars</B > :: [<A HREF="TcMType.html#t%3ATcTyVar" >TcTyVar</A >] -> <A HREF="TcRnTypes.html#t%3ATcM" >TcM</A > [<A HREF="TcMType.html#t%3ATcTyVar" >TcTyVar</A >]</TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="decl" ><A NAME="v:zonkTcType" ><A NAME="v%3AzonkTcType" ></A ></A ><B >zonkTcType</B > :: <A HREF="TcMType.html#t%3ATcType" >TcType</A > -> <A HREF="TcRnTypes.html#t%3ATcM" >TcM</A > <A HREF="TcMType.html#t%3ATcType" >TcType</A ></TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="decl" ><A NAME="v:zonkTcTypes" ><A NAME="v%3AzonkTcTypes" ></A ></A ><B >zonkTcTypes</B > :: [<A HREF="TcMType.html#t%3ATcType" >TcType</A >] -> <A HREF="TcRnTypes.html#t%3ATcM" >TcM</A > [<A HREF="TcMType.html#t%3ATcType" >TcType</A >]</TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="decl" ><A NAME="v:zonkTcThetaType" ><A NAME="v%3AzonkTcThetaType" ></A ></A ><B >zonkTcThetaType</B > :: <A HREF="TcMType.html#t%3ATcThetaType" >TcThetaType</A > -> <A HREF="TcRnTypes.html#t%3ATcM" >TcM</A > <A HREF="TcMType.html#t%3ATcThetaType" >TcThetaType</A ></TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="decl" ><A NAME="v:zonkTcKindToKind" ><A NAME="v%3AzonkTcKindToKind" ></A ></A ><B >zonkTcKindToKind</B > :: <A HREF="TcMType.html#t%3ATcKind" >TcKind</A > -> <A HREF="TcRnTypes.html#t%3ATcM" >TcM</A > <A HREF="Type.html#t%3AKind" >Kind</A ></TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="decl" ><A NAME="v:zonkTcKind" ><A NAME="v%3AzonkTcKind" ></A ></A ><B >zonkTcKind</B > :: <A HREF="TcMType.html#t%3ATcKind" >TcKind</A > -> <A HREF="TcRnTypes.html#t%3ATcM" >TcM</A > <A HREF="TcMType.html#t%3ATcKind" >TcKind</A ></TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="decl" ><A NAME="v:zonkTopTyVar" ><A NAME="v%3AzonkTopTyVar" ></A ></A ><B >zonkTopTyVar</B > :: <A HREF="TcMType.html#t%3ATcTyVar" >TcTyVar</A > -> <A HREF="TcRnTypes.html#t%3ATcM" >TcM</A > <A HREF="TcMType.html#t%3ATcTyVar" >TcTyVar</A ></TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="decl" ><A NAME="v:readKindVar" ><A NAME="v%3AreadKindVar" ></A ></A ><B >readKindVar</B > :: <A HREF="Type.html#t%3AKindVar" >KindVar</A > -> <A HREF="TcRnTypes.html#t%3ATcM" >TcM</A > <A HREF="TcType.html#t%3AMetaDetails" >MetaDetails</A ></TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="decl" ><A NAME="v:writeKindVar" ><A NAME="v%3AwriteKindVar" ></A ></A ><B >writeKindVar</B > :: <A HREF="Type.html#t%3AKindVar" >KindVar</A > -> <A HREF="TcMType.html#t%3ATcKind" >TcKind</A > -> <A HREF="TcRnTypes.html#t%3ATcM" >TcM</A > <A HREF="../ghc-prim-0.2.0.0/GHC-Unit.html#t%3A%28%29" >()</A ></TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="botbar" >Produced by <A HREF="http://www.haskell.org/haddock/" >Haddock</A > version 2.6.1</TD ></TR ></TABLE ></BODY ></HTML >