Index: src/Concurrency/Keywords.cc
===================================================================
--- src/Concurrency/Keywords.cc	(revision bbe3719f51f151b5ad865f6a0ca92c072ca4f23e)
+++ src/Concurrency/Keywords.cc	(revision 3df86ccdb84e0936b9d0bb87c4e1d4c237999422)
@@ -1200,5 +1200,10 @@
 				new PointerType(
 					noQualifiers,
-					new TypeofType( noQualifiers, args.front()->clone() )
+					//new TypeofType( noQualifiers, args.front()->clone() )
+					new TypeofType( noQualifiers, new UntypedExpr(
+							new NameExpr( "__get_type" ),
+							{ args.front()->clone() }
+						) 
+					)
 				),
 				new ConstantExpr( Constant::from_ulong( args.size() ) ),
@@ -1208,5 +1213,9 @@
 			new ListInit(
 				map_range < std::list<Initializer*> > ( args, [](Expression * var ){
-					return new SingleInit( new AddressExpr( var ) );
+					return new SingleInit( new UntypedExpr(
+							new NameExpr( "__get_ptr" ),
+							{ var }
+					) );
+					//return new SingleInit( new AddressExpr( var ) );
 				})
 			)
@@ -1214,5 +1223,11 @@
 
 		StructInstType * lock_guard_struct = new StructInstType( noQualifiers, lock_guard_decl );
-		TypeExpr * lock_type_expr = new TypeExpr( new TypeofType( noQualifiers, args.front()->clone() ) );
+		TypeExpr * lock_type_expr = new TypeExpr( 
+			new TypeofType( noQualifiers, new UntypedExpr(
+				new NameExpr( "__get_type" ),
+				{ args.front()->clone() }
+				) 
+			) 
+		);
 
 		lock_guard_struct->parameters.push_back( lock_type_expr ) ;
