diff --git a/object.c b/object.c
index 7f5e89f6bc..ba43eaf70c 100644
--- a/object.c
+++ b/object.c
@@ -3609,8 +3609,17 @@ rb_Array(VALUE val)
* Returns +arg+ as an Array.
*
* First tries to call to_ary on +arg+, then to_a.
+ * If +arg+ does not respond to to_ary or to_a,
+ * returns an Array of length 1 containing +arg+.
*
- * Array(1..5) #=> [1, 2, 3, 4, 5]
+ * If to_ary or to_a returns something other than
+ * an Array, raises a TypeError.
+ *
+ * Array(["a", "b"]) #=> ["a", "b"]
+ * Array(1..5) #=> [1, 2, 3, 4, 5]
+ * Array(key: :value) #=> [[:key, :value]]
+ * Array(nil) #=> []
+ * Array(1) #=> [1]
*/
static VALUE