@spec keyword_splat(keyword(), atom(), any()) :: [any()]
@spec normalize_function(module(), (any() -> any()) | atom()) :: (any() -> any())