some of these limitations can be somewhat smoothen...
# announcements
m
some of these limitations can be somewhat smoothened out with extension functions; e.g. you can make some type constructor traversable by just writing an extension that provides an implementation for Traverse