Signatures do not necessarily need to be tied to a specific module. A signature may be defined separately, and have multiple implementations.
(* examples/signatures.sml *)