pub type DerivableFn<'a, Element, Window, T> = &'a dyn Fn(MiddlewareState<'_, Element, Window>) -> T;