<div dir="ltr"><div class="gmail_extra"><div class="gmail_quote"><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex"><div dir="ltr"><div>foo : (x : Int) -> (y : Int) -> (red : Double) -> (blue : Double) -> (green : Double) -> IO ()<br></div><div><br></div><div>And that will solve everything! What could possibly go wrong!</div></div></blockquote><div><br></div><div>How about a type-level the? =p</div><div><br></div><div><div>type The label t = t</div><div><br></div><div>foo :: The red Double -> The green Double -> The blue Double -> IO ()</div></div><div><br></div><div>Or with polykinds:</div><div><br></div><div>foo :: The "Red" Double -> The "Green" Double -> The "Blue" Double -> IO ()<br></div><div><br></div><div><br></div></div></div></div>