Index: uspace/lib/cpp/include/impl/array.hpp
===================================================================
--- uspace/lib/cpp/include/impl/array.hpp	(revision 55cd8299a72ca04832bff65f238be1619989a9a2)
+++ uspace/lib/cpp/include/impl/array.hpp	(revision bfa86e5eaa3d8c32790e2a385666dac6430fe4fb)
@@ -179,4 +179,45 @@
 
     // TODO: tuple interface for array 23.3.2.9
+    /**
+     * 23.3.2.9, tuple interface for class template array:
+     */
+
+    template<class>
+    struct tuple_size;
+
+    template<class T, size_t N>
+    struct tuple_size<array<T, N>>
+        : integral_constant<size_t, N>
+    { /* DUMMY BODY */ };
+
+    template<size_t, class>
+    struct tuple_element;
+
+    template<size_t I, class T, size_t N>
+    struct tuple_element<I, array<T, N>>
+        : aux::type_is<T>
+    { /* DUMMY BODY */ };
+
+    template<size_t I, class T, size_t N>
+    constexpr T& get(array<T, N>& arr) noexcept
+    {
+        static_assert(I < N, "index out of bounds");
+
+        return arr[I];
+    }
+
+    template<size_t I, class T, size_t N>
+    constexpr T&& get(array<T, N>&& arr) noexcept
+    {
+        return move(get<I>(arr));
+    }
+
+    template<size_t I, class T, size_t N>
+    constexpr const T& get(const array<T, N>& arr) noexcept
+    {
+        static_assert(I < N, "index out of bounds");
+
+        return arr[I];
+    }
 }
 
