but if you make Source a sealed hierarchy you can ...
# arrow
r
but if you make Source a sealed hierarchy you can just write functions over
Source