wip. all semi-rings
wip. all semi-rings