[GEM-dev] Why is [hsv2rgb] implemented as an abstraction?