Comments, docs, tested. Working extension functions, generic type and reflection