Implement segs
Add Binoid restriction