Defining time units for a Compilation-unit scope

Hello everyone ,
I was referring to the following quote from LRM 3.14.2.3 :

The time unit of the compilation-unit scope can only be set by a timeunit declaration, not a ` timescale directive.

I wanted to understand it’s meaning .
If I were to define timeunit and timeprecision within a package like


package my_pkg;      
  timeunit       1ns;
  timeprecision  1fs;

 `include "seq_item.sv"
 `include "base_seq.sv"
 `include "sequencer.sv"
 `include "driver.sv"
 `include "monitor.sv"
 `include "agent.sv"
 `include "env.sv"
 `include "test.sv"
endpackage

// Within top_tb.sv :  
  `include "my_pkg.sv" 
   import my_pkg::*;    // Imported outside the module
  module top_tb;
  ..............
  endmodule

We define the units and precision once and as a result all the classes included within the package ‘my_pkg’ would have a unanimous time units of 1ns and time precision of 1fs.

[Q1] As the package is included outside top_tb , would the top_tb also follow the same units and precision defined within the package ?
If the package were to be imported within the module , would it have any difference ?

[Q2] Similarly how would one define a common time unit and time precision for design elements like module and interface ?

[Q3] Within the class object/component I was thinking of using $printtimescale to check the time unit and precision.
However LRM 20.4.1 says :

The $printtimescale system task displays the time unit and precision for a particular module

 So is there any alternative to observe the time unit and precision within a class ?

In reply to Have_A_Doubt:

[A1] Time units only apply to the definitions of design elements (packages/modules/interfaces). Importing and instantiation have no effect on time units/precision.

[A2] If you want a number of designed elements to share a common time unit, you can

  • compile them in a common compilation unit, and all elements get the time unite of the compilation unit
  • Put no time units in your code and use a tool setting to specify the time unit.

[A3] The upcoming 1800-2023 LRM clarifies this. $printtimescale was never updated to handle SystemVerilog. But a class is not a designed element; a package is.