Index: libcfa/src/concurrency/mutex_stmt.hfa
===================================================================
--- libcfa/src/concurrency/mutex_stmt.hfa	(revision ce9f9d49a2f8e613169e8a0385563024beea05b3)
+++ libcfa/src/concurrency/mutex_stmt.hfa	(revision a8367ebba32a8146b290b76d772444d1ffe9c3c3)
@@ -40,3 +40,11 @@
         }
     }
+
+    static inline L * __get_ptr( L & this ) {
+        return &this;
+    }
+
+    static inline L __get_type( L & this );
+
+    static inline L __get_type( L * this );
 }
Index: src/Concurrency/Keywords.cc
===================================================================
--- src/Concurrency/Keywords.cc	(revision ce9f9d49a2f8e613169e8a0385563024beea05b3)
+++ src/Concurrency/Keywords.cc	(revision a8367ebba32a8146b290b76d772444d1ffe9c3c3)
@@ -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 ) ;
