diff --git a/.gitsuper b/.gitsuper
index 7d042eb0033de7714bdae8fc92b2cf7e050b8105..2feeba2dc6d3d2db2a3cc807697b26aeaa70afbb 100644
--- a/.gitsuper
+++ b/.gitsuper
@@ -14,7 +14,7 @@ status = 1a3bcab04b011a5d6e44f9983cae6ff89fa695e8 bin (heads/master)
 	 07f9700459c616186737a9a34277f2edee76f475 dune-uggrid (v2.6.0-1-g07f97004)
 	+bf48b2929a26dc043925c41672570600b936f032 dune-xt-common (heads/fix_issue_149)
 	 cad4071f7722374d5131c21244970e93c98ad6ba dune-xt-data (remotes/origin/HEAD)
-	+88f54b8bf6e02817cc9ac082bfb1fcd54a3efd7e dune-xt-functions (heads/dailywork-tim)
+	+5e5ea8637f8ca604a6092eccd4b931b53422a69b dune-xt-functions (heads/dailywork-tim)
 	 08242248ae7d1e79018fc2e91e85bccdd453107a dune-xt-grid (remotes/origin/HEAD)
 	 0c3b93e32d48b7b389db1c3572d567bff272190c dune-xt-la (remotes/origin/HEAD)
 	 09d0378f616b94d68bcdd9fc6114813181849ec0 scripts (heads/master)
@@ -93,7 +93,7 @@ commit = cad4071f7722374d5131c21244970e93c98ad6ba
 [submodule.dune-xt-functions]
 remote = https://github.com/dune-community/dune-xt-functions.git
 status = c0b1735fab0ecbd4bb4f1eaa27cb65fe813e98f0 .vcsetup (remotes/origin/HEAD)
-commit = 88f54b8bf6e02817cc9ac082bfb1fcd54a3efd7e
+commit = 5e5ea8637f8ca604a6092eccd4b931b53422a69b
 
 [submodule.dune-xt-grid]
 remote = https://github.com/dune-community/dune-xt-grid.git
diff --git a/python/dune/xt/interfaces.cc b/python/dune/xt/interfaces.cc
index 3cb48aaf5e6717ff2d00e269a202cfa6db61ddcb..ddb07aeff95b1a21c36a3428b7d18ea8339f0d25 100644
--- a/python/dune/xt/interfaces.cc
+++ b/python/dune/xt/interfaces.cc
@@ -26,6 +26,8 @@
 #include <python/dune/xt/functions/interfaces.hh>
 
 #include <python/dune/xt/common/exceptions.bindings.hh>
+#include <python/dune/xt/grid/available_types.hh>
+
 
 template <class G>
 void add_bind_for_Grid_interface(pybind11::module& m)
@@ -94,9 +96,22 @@ void add_bind_for_Grid_interface(pybind11::module& m)
 
   bind_combined_GridFunction<G, g_dim, prod, 1, 1, 2, 2>(m, grid_id);
   addbind_GridFunctionInterface_combined_op<G, g_dim, prod, 1, 1, 2, 2>(i_1_1);
+} // ... addbind_for_Grid_interface(...)
+
+
+template <class Tuple = Dune::XT::Grid::bindings::AvailableTypes>
+void all_grid_interfaces(pybind11::module& m)
+{
+  add_bind_for_Grid_interface<typename Tuple::head_type>(m);
+  all_grid_interfaces<typename Tuple::tail_type>(m);
 } // ... addbind_for_Grid(...)
 
 
+template <>
+void all_grid_interfaces<boost::tuples::null_type>(pybind11::module&)
+{}
+
+
 PYBIND11_MODULE(_interfaces, m)
 {
   namespace py = pybind11;
@@ -280,17 +295,7 @@ PYBIND11_MODULE(_interfaces, m)
   bind_combined_Function<3, prod, 1, 1, 2, 2>(m);
   addbind_FunctionInterface_combined_op<3, prod, 1, 1, 2, 2>(i_3_1_1);
 
-  add_bind_for_Grid_interface<Dune::YaspGrid<1, Dune::EquidistantOffsetCoordinates<double, 1>>>(m);
-  add_bind_for_Grid_interface<Dune::YaspGrid<2, Dune::EquidistantOffsetCoordinates<double, 2>>>(m);
-#if HAVE_DUNE_ALUGRID
-  add_bind_for_Grid_interface<Dune::ALUGrid<2, 2, Dune::simplex, Dune::conforming>>(m);
-#endif
-#if HAVE_UG
-  add_bind_for_Grid_interface<Dune::UGGrid<2>>(m);
-#endif
-  //#if HAVE_ALBERTA
-  //  addbind_for_Grid<Dune::AlbertaGrid<2, 2>>(m, "2d_simplex_albertagrid");
-  //#endif
+  all_grid_interfaces(m);
 
   Dune::XT::Common::bindings::add_initialization(m, "dune.xt.functions");
 }