#115 Remove inheritance between Optics

This change is not ready yet, all the syntax (symbolic operators) part needs to be refactored.
yes it should be consistant, where is it not the case?