name is taken, renaming to either-monad
version should be explicitly required