Unitfun uses modules to represent units. All units must implement this behaviour.
facts() :: [any()]
unit() :: any()