A couple comments:
mixable tree/map traits
Possibly it would help to just use % "provided" for the algebird lib.
Another approach might be to have our own internal algebra types, and require implicit conversions in the signatures, with a separate subproject for conversions from external algebra libs to ours. That gets rid of any external algebra lib deps and allows us to operate with multiple ones
A third option is to be opioninated wrt one of these algebra libs (I might favor cats these days), but require implicit conversions, and so allow other libs to interoperate. Would this allow us to not expose the dependency?
add algebra api subproject isarn_algebra_api
Xyz.scala -> XyzAPI.scala in isarn_algebra_api
append algebra api traits with ...API
_api -> API
rename algebra_api to algebraAPI
move algebra api to isarn_algebra_api in collections
@willb I have the tree/map collections decoupled from algebird (except in testing)