BS-Solve provides standard domains representations and a large set of operations. Domains can be manipulated as generic or typed values, whether the user knows the type or not. Programs can also have their own internal representations of domains, provided that they come with translating functions which permit to convert external representations into BS-Solve representations.