diff --git a/doc/efun/reverse b/doc/efun/reverse
index 90c7890..af81403 100644
--- a/doc/efun/reverse
+++ b/doc/efun/reverse
@@ -1,31 +1,32 @@
 SYNOPSIS
-        inti    reverse (int arg)
+        int     reverse (int arg)
         string  reverse (string arg)
+        bytes   reverse (bytes arg)
         mixed * reverse (mixed * arg)
         mixed * reverse (mixed * & arg)
 
-DESCRIPTION
-        Kehrt die Reihenfolge des Inhaltes von Array oder String <arg>
-        um und liefert den neuen Wert als Resultat.
+BESCHREIBUNG
+        Kehrt die Reihenfolge des Inhaltes eines Arrays, Strings oder
+        Bytefolge <arg> um und liefert den neuen Wert als Resultat.
         Ist <arg> eine Zahl, wird die Reihenfolge der Bits in <arg> umgekehrt.
 
         Wenn in der Referenz-Variante verwendet, wird das Argumentarray selber
         invertiert und auch zurueckgegeben.
 
-EXAMPLES
-        reverse (0x306a) - return 0x560c0000
+BEISPIELE
+        reverse (0x306a) - gibt 0x560c0000 zurueck
 
-        reverse ("test") - return "tset"
+        reverse ("test") - gibt "tset" zurueck
 
         mixed * a = ({ 1, 2 });
-        reverse(a)  - returns ({ 2, 1 }), a ist unveraendert.
-        reverse(&a) - returns ({ 2, 1 }), a ist nun ({ 2, 1 })
+        reverse(a)  - gibt ({ 2, 1 }) zurueck, a bleibt unveraendert.
+        reverse(&a) - gibt ({ 2, 1 }) zurueck, a ist nun ({ 2, 1 })
 
-BUGS
-        Referenz-Teilarrays wie reverse(&(a[1..2])) sind nicht unterstuetzt.
+FEHLER
+        Referenz-Teilarrays wie reverse(&(a[1..2])) werden nicht unterstuetzt.
 
 GESCHICHTE
         Eingefuehrt in LDMud 3.3.529.
         LDMud 3.3.532 fuegte die Bitumkehr von Zahlen ein.
 
-SEE ALSO
+SIEHE AUCH
