if as.unit recognizes u as unit, then it returns a list
with elements unit, which is an expression(), and scale,
which is a character value. That is also the case if it does
not recognize u, and if default is not specified. However,
if u is not recognized, and if default is provided by the user,
then as.unit returns the provided value of default.