anchor.diff:    !---------------------------------------------------------------------------------------------------------------------------------
     endsubroutine set
   
  -  pure function stringify(self, format) result(raw)
  +  pure function stringify(self, format, with_dimensionality) result(raw)
     !---------------------------------------------------------------------------------------------------------------------------------
     !< Return a string representaion of the quantity with unit symbol.
     !---------------------------------------------------------------------------------------------------------------------------------
  -  class(qreal), intent(in)           :: self   !< The quantity.
  -  character(*), intent(in), optional :: format !< Format to pring magnitude.
  -  character(len=:), allocatable      :: raw    !< Raw characters data.
  +  class(qreal), intent(in)           :: self                !< The quantity.
  +  character(*), intent(in), optional :: format              !< Format to pring magnitude.
  +  logical,      intent(in), optional :: with_dimensionality !< Insert also the quantity dimensionality.
  +  character(len=:), allocatable      :: raw                 !< Raw characters data.
     !---------------------------------------------------------------------------------------------------------------------------------
   
     !---------------------------------------------------------------------------------------------------------------------------------
  
positive.code:   call quantity%set(magnitude=magnitude, unit=unit, units_system=units_system)
    !---------------------------------------------------------------------------------------------------------------------------------
    endfunction creator
  
    ! public methods
    elemental function is_unit_defined(self) result(is_defined)
    !---------------------------------------------------------------------------------------------------------------------------------
    !< Check if the unit has been defined.
  
negative.code:   else
      raw = trim(str(n=self%magnitude))
    endif
    if (self%is_unit_defined()) then
      raw = raw//self%unit%symbol
      if (present(with_dimensionality)) then
        if (with_dimensionality) raw = raw//' '//self%unit%dimensionality
      endif
    endif
    !---------------------------------------------------------------------------------------------------------------------------------
    endfunction stringify
  
  