utls 0.12.10

A simple utilities library for stuff I actually use sometimes, with a large focus on convenience and lack of dependencies.
Documentation
//! Generally useful functions and constants
/// Framerate related stuff
pub mod framerate {
    use std::time::Duration;

    /// MS/S count for twenty fps
    pub const TWENTY_FPS: Duration = Duration::from_nanos(50_000_000); // 50ms
    /// MS/S count for thirty fps
    pub const THIRTY_FPS: Duration = Duration::from_nanos(33_333_333); // ~33.33ms
    /// MS/S count for sixty fps
    pub const SIXTY_FPS: Duration = Duration::from_nanos(16_666_667); // ~16.67ms
    /// MS/S count for ninety fps
    pub const NINETY_FPS: Duration = Duration::from_nanos(11_111_111); // ~11.11ms
    /// MS/S count for 120 fps
    pub const ONE_TWENTY_FPS: Duration = Duration::from_nanos(8_333_333); // ~8.33ms
    /// MS/S count for 144 fps
    pub const ONE_FORTY_FOUR_FPS: Duration = Duration::from_nanos(6_944_444); // ~6.94ms
    /// MS/S count for 240 fps
    pub const TWO_FORTY_FPS: Duration = Duration::from_nanos(4_166_667); // ~4.17ms

    /// Mildly pointless, but returns the count of MS per frame for a given frame rate.
    /// Only use if not available as a constant in utls::vars::framerate::<FPS_COUNT>_FPS.
    pub fn ms_per_frame(fps: u32) -> Duration {
        Duration::from_millis(1000) / fps
    }
}
/// All useful macros
pub mod macros {
    #[allow(unused_macros)]
    macro_rules! create_constants {
        ($struct_name:ident { $($const_name:ident: $type:ty = $value:expr),* }) => {
            impl $struct_name {
                $(pub const $const_name: $type = $value;)*
            }
        }
    }
}