Hi all - <br><br>say that I want to create a new primitive type (something like path or string) so it has the first class status (for the lack of a better term) as the other primitive types.&nbsp; How is this done, and Is this doable only in scheme or does it involve working on C code?&nbsp; 
<br><br>Example - social security number.<br><br>&gt; (define s1 #ssn&quot;123-45-6789&quot;)<br>&gt; s1<br>#ssn&quot;123-45-6789&quot;<br>&gt; (ssn-&gt;string s1)<br>&quot;123-45-6789&quot; <br>&gt; (ssn? s1)<br>#t<br>&gt; (equal? s1 #ssn&quot;123-45-6789&quot;)
<br>#t<br>&gt; (equal? s1 #ssn&quot;987-65-4321&quot;)<br>#f<br><br>Any pointer is appreciated ;)&nbsp; Thanks,<br>yinso <br><br>