Rename >> as public map, keep >> for internal uses
Rename count to size
Add magic for flatten using function type deps (wrapper)