Index: libcfa/src/concurrency/locks.hfa
===================================================================
--- libcfa/src/concurrency/locks.hfa	(revision 22226e4c0c12d34b6c6883c00f1607a84fce93f5)
+++ libcfa/src/concurrency/locks.hfa	(revision 0d4f9548207455c4183f179f0e20757dbedfce9b)
@@ -164,7 +164,7 @@
 }
 
-static inline bool lock(linear_backoff_then_block_lock & this) with(this) {
+static inline void lock(linear_backoff_then_block_lock & this) with(this) {
 	// if owner just return
-	if (active_thread() == owner) return true;
+	if (active_thread() == owner) return;
 	size_t compare_val = 0;
 	int spin = spin_start;
@@ -172,5 +172,5 @@
 	for( ;; ) {
 		compare_val = 0;
-		if (internal_try_lock(this, compare_val)) return true;
+		if (internal_try_lock(this, compare_val)) return;
 		if (2 == compare_val) break;
 		for (int i = 0; i < spin; i++) Pause();
@@ -179,10 +179,7 @@
 	}
 
-	if(2 != compare_val && try_lock_contention(this)) return true;
+	if(2 != compare_val && try_lock_contention(this)) return;
 	// block until signalled
-	while (block(this)) if(try_lock_contention(this)) return true;
-
-	// this should never be reached as block(this) always returns true
-	return false;
+	while (block(this)) if(try_lock_contention(this)) return;
 }
 
Index: libcfa/src/concurrency/mutex_stmt.hfa
===================================================================
--- libcfa/src/concurrency/mutex_stmt.hfa	(revision 22226e4c0c12d34b6c6883c00f1607a84fce93f5)
+++ libcfa/src/concurrency/mutex_stmt.hfa	(revision 0d4f9548207455c4183f179f0e20757dbedfce9b)
@@ -12,29 +12,30 @@
 };
 
+
+struct __mutex_stmt_lock_guard {
+    void ** lockarr;
+    __lock_size_t count;
+};
+
+static inline void ?{}( __mutex_stmt_lock_guard & this, void * lockarr [], __lock_size_t count  ) {
+    this.lockarr = lockarr;
+    this.count = count;
+
+    // Sort locks based on address
+    __libcfa_small_sort(this.lockarr, count);
+
+    // acquire locks in order
+    // for ( size_t i = 0; i < count; i++ ) {
+    //     lock(*this.lockarr[i]);
+    // }
+}
+
+static inline void ^?{}( __mutex_stmt_lock_guard & this ) with(this) {
+    // for ( size_t i = count; i > 0; i-- ) {
+    //     unlock(*lockarr[i - 1]);
+    // }
+}
+
 forall(L & | is_lock(L)) {
-
-    struct __mutex_stmt_lock_guard {
-        L ** lockarr;
-        __lock_size_t count;
-    };
-    
-    static inline void ?{}( __mutex_stmt_lock_guard(L) & this, L * lockarr [], __lock_size_t count  ) {
-        this.lockarr = lockarr;
-        this.count = count;
-
-        // Sort locks based on address
-        __libcfa_small_sort(this.lockarr, count);
-
-        // acquire locks in order
-        for ( size_t i = 0; i < count; i++ ) {
-            lock(*this.lockarr[i]);
-        }
-    }
-    
-    static inline void ^?{}( __mutex_stmt_lock_guard(L) & this ) with(this) {
-        for ( size_t i = count; i > 0; i-- ) {
-            unlock(*lockarr[i - 1]);
-        }
-    }
 
     struct scoped_lock {
@@ -51,10 +52,10 @@
     }
 
-    static inline L * __get_ptr( L & this ) {
+    static inline void * __get_mutexstmt_lock_ptr( L & this ) {
         return &this;
     }
 
-    static inline L __get_type( L & this );
+    static inline L __get_mutexstmt_lock_type( L & this );
 
-    static inline L __get_type( L * this );
+    static inline L __get_mutexstmt_lock_type( L * this );
 }
