   public static var size   = __uint8_t(sizeof(sockaddr_un)) // CAREFUL
   
   public init() {
+#if os(Linux) // no sin_len on Linux
+#else // os(Darwin)
     sun_len    = sockaddr_un.size // CAREFUL - kinda wrong
+#endif // os(Darwin)
     sun_family = sa_family_t(sockaddr_un.domain)
     
     // Autsch!
-    sun_path   = (
+#if os(Linux)
+    sun_path   = ( // 16 per block, 108 total
+      0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
+    );
+#else // os(Darwin)
+    sun_path   = ( // 16 per block, 104 total
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,

    // how to refer to self?
  
  public init() {
    sin_len    = sockaddr_in.size
    sin_family = sa_family_t(sockaddr_in.domain)
    sin_port   = 0
    sin_addr   = INADDR_ANY

  public init() {
    ai_flags     = 0 // AI_CANONNAME, AI_PASSIVE, AI_NUMERICHOST
    ai_family    = AF_UNSPEC // AF_INET or AF_INET6 or AF_UNSPEC
    ai_socktype  = sys_SOCK_STREAM
    ai_protocol  = 0   // or IPPROTO_xxx for IPv4
    ai_addrlen   = 0   // length of ai_addr below
    ai_canonname = nil // UnsafePointer<Int8>
