Index: libcfa/src/vec/vec2.hfa
===================================================================
--- libcfa/src/vec/vec2.hfa	(revision 3376ec9679544e4a3573e3f6ba122456afec811f)
+++ libcfa/src/vec/vec2.hfa	(revision e752e4ec3e790f54e27c6b96ecd3ff3925567ea0)
@@ -1,4 +1,5 @@
 #pragma once
 
+#include <iostream.hfa>
 #include "vec.hfa"
 
@@ -54,5 +55,5 @@
 
     forall(| negate(T)) {
-    vec2(T) -?(vec2(T)& v) with (v) {
+    vec2(T) -?(vec2(T) v) with (v) {
         return [-x, -y];
     }
@@ -113,2 +114,12 @@
     } // static inline
 }
+
+forall(dtype ostype, otype T | writeable(T, ostype)) {
+    ostype & ?|?(ostype & os, vec2(T) v) with (v) {
+        return os | '<' | x | ',' | y | '>';
+    }
+    void ?|?(ostype & os, vec2(T) v ) with (v) {
+        (ostype &)(os | v); ends(os);
+    }
+}
+
