typed signatures, generics fixes, readme update