I was wondering which operations do you need to have implemented for ```A``` and ```B``` in order to use your implementation? Sorry if this should not be posted as an issue. Im pretty new to GitHub.