Index: src/libcfa/containers/result
===================================================================
--- src/libcfa/containers/result	(revision 79308c8e374920c0ae0843de7e5c3c35b83ff992)
+++ src/libcfa/containers/result	(revision 84d58c5ecfcdf2942bf75618eb315dcfca19daee)
@@ -18,13 +18,17 @@
 #define RESULT_H
 
+#include <stdbool.h>
 
 // DO NOT USE DIRECTLY!
 forall(otype T, otype E)
+union inner_result{
+	T value;
+	E error;
+};
+
+forall(otype T, otype E)
 struct result {
-	_Bool has_value;
-	union {
-		T value;
-		E error;
-	};
+	bool has_value;
+	inner_result(T, E);
 };
 
@@ -46,5 +50,5 @@
 
 forall(otype T, otype E)
-_Bool ?!=?(result(T, E) this, zero_t);
+bool ?!=?(result(T, E) this, zero_t);
 
 forall(otype T, otype E)
@@ -55,5 +59,5 @@
 
 forall(otype T, otype E)
-_Bool has_value(result(T, E) * this);
+bool has_value(result(T, E) * this);
 
 forall(otype T, otype E)
