diff --git a/cimple.cabal b/cimple.cabal
--- a/cimple.cabal
+++ b/cimple.cabal
@@ -1,5 +1,5 @@
 name:          cimple
-version:       0.0.28
+version:       0.0.29
 synopsis:      Simple C-like programming language
 homepage:      https://toktok.github.io/
 license:       GPL-3
diff --git a/src/Language/Cimple/Ast.hs b/src/Language/Cimple/Ast.hs
--- a/src/Language/Cimple/Ast.hs
+++ b/src/Language/Cimple/Ast.hs
@@ -26,6 +26,8 @@
 import           Data.Hashable                (Hashable (..))
 import           Data.Hashable.Lifted         (Hashable1)
 import           GHC.Generics                 (Generic, Generic1)
+import           Test.QuickCheck              (Arbitrary (..),
+                                               arbitraryBoundedEnum)
 
 getNodeId :: Hashable a => Node a -> Int
 getNodeId = hash
@@ -404,3 +406,24 @@
 instance Hashable Scope where
 instance Hashable CommentStyle where
 instance Hashable Nullability where
+
+instance Arbitrary AssignOp where
+    arbitrary = arbitraryBoundedEnum
+
+instance Arbitrary BinaryOp where
+    arbitrary = arbitraryBoundedEnum
+
+instance Arbitrary UnaryOp where
+    arbitrary = arbitraryBoundedEnum
+
+instance Arbitrary LiteralType where
+    arbitrary = arbitraryBoundedEnum
+
+instance Arbitrary Scope where
+    arbitrary = arbitraryBoundedEnum
+
+instance Arbitrary CommentStyle where
+    arbitrary = arbitraryBoundedEnum
+
+instance Arbitrary Nullability where
+    arbitrary = arbitraryBoundedEnum
diff --git a/src/Language/Cimple/Lexer.x b/src/Language/Cimple/Lexer.x
--- a/src/Language/Cimple/Lexer.x
+++ b/src/Language/Cimple/Lexer.x
@@ -58,11 +58,12 @@
 <0>		"QueryPerformanceCounter"		{ mkL IdVar }
 <0>		"QueryPerformanceFrequency"		{ mkL IdVar }
 <0>		"SecureZeroMemory"			{ mkL IdVar }
-<0>		"WSAAddressToString"			{ mkL IdVar }
+<0>		"WSAAddressToString"("A"?)		{ mkL IdVar }
 <0>		"WSACleanup"				{ mkL IdVar }
 <0>		"WSAGetLastError"			{ mkL IdVar }
+<0>		"WSASetLastError"			{ mkL IdVar }
 <0>		"WSAStartup"				{ mkL IdVar }
-<0>		"WSAStringToAddress"			{ mkL IdVar }
+<0>		"WSAStringToAddress"("A"?)		{ mkL IdVar }
 
 -- Winapi struct members.
 <0>		"GatewayList"				{ mkL IdVar }
@@ -79,6 +80,7 @@
 <0>		"INT"					{ mkL IdStdType }
 <0>		"LPSOCKADDR"				{ mkL IdStdType }
 <0>		"IP_ADAPTER_INFO"			{ mkL IdStdType }
+<0>		"LPSTR"					{ mkL IdStdType }
 <0>		"LPTSTR"				{ mkL IdStdType }
 <0>		"u_long"				{ mkL IdStdType }
 <0>		"LARGE_INTEGER"				{ mkL IdStdType }
