<div dir="ltr"><div dir="ltr"><div>Hello Haskell-Cafe,</div><div><br></div><div>I have been recently studying the XMonad code and some related types available in the X11 bindings library.</div><div><br></div><div>I came across this type: <br></div><span class="gmail-keyword"><br></span></div><div dir="ltr"><span class="gmail-keyword">newtype</span> <a id="gmail-t:XEvent" class="gmail-def">XEvent = XEvent XEventPtr</a><div><a id="gmail-t:XEvent" class="gmail-def"><br></a></div><div><font size="2"><span class="gmail-keyword">type</span> <a id="gmail-t:XEventPtr" class="gmail-def">XEventPtr</a> = <a href="http://hackage.haskell.org/package/base-4.10.1.0/docs/Foreign-Ptr.html#t:Ptr">Ptr</a> <a href="http://hackage.haskell.org/package/X11-1.9/docs/Graphics-X11-Xlib-Event.html#t:XEvent">XEvent</a></font></div><div><font size="2"><br></font></div><div><font size="2">Available here:  </font><br></div><div><a href="http://hackage.haskell.org/package/X11-1.9/docs/Graphics-X11-Xlib-Event.html#t:XEvent">http://hackage.haskell.org/package/X11-1.9/docs/Graphics-X11-Xlib-Event.html#t:XEvent</a></div><div><font size="2"><br></font></div><div><font size="2">It seems that this type is circular here. how does one use this type? Is it possible to create a value out of this type? What is the use of this type?<br></font></div><div><font size="2"><br></font></div><div><font size="2">Please could someone help me wrap my head around this?<br></font></div><div><font size="2"><br></font></div><div><font size="2">Thanks</font></div><div><font size="2"><br></font></div><div><font size="2"><br></font></div><div><font size="2"><br></font></div><div><br></div><div><br></div><div><br></div></div></div>