diff --git a/Readme.md b/Readme.md
index ab3e6bd78d4649414b74fff7a1738d66363a16ff..10088930130bb6a7760c9f5a7a4857bcf13f8faa 100644
--- a/Readme.md
+++ b/Readme.md
@@ -77,7 +77,7 @@ fn main() -> Result<(), WebSocketError> {
         }
         // receive() gives you all new websocket messages since receive() was last called
         info!("New messages: {:#?}", client.borrow_mut().receive());
-    }) as Box<dyn FnMut()>);
+    }) as Box<dyn Fn()>);
 
     // Start non-blocking game loop
     setInterval(&f, 100);
@@ -88,6 +88,6 @@ fn main() -> Result<(), WebSocketError> {
 // Bind setInterval to make a basic game loop
 #[wasm_bindgen]
 extern "C" {
-    fn setInterval(closure: &Closure<dyn FnMut()>, time: u32) -> i32;
+    fn setInterval(closure: &Closure<dyn Fn()>, time: u32) -> i32;
 }
 ```
diff --git a/examples/polling.rs b/examples/polling.rs
index 45f2b3944444c528a4d8f9320433cccfa5bd6606..295b0b3b56b4a4293d53a68dd0aad15899ca6303 100644
--- a/examples/polling.rs
+++ b/examples/polling.rs
@@ -27,7 +27,7 @@ fn main() -> Result<(), WebSocketError> {
         }
         // receive() gives you all new websocket messages since receive() was last called
         info!("New messages: {:#?}", client.borrow_mut().receive());
-    }) as Box<dyn FnMut()>);
+    }) as Box<dyn Fn()>);
 
     // Start non-blocking game loop
     setInterval(&f, 100);
@@ -38,5 +38,5 @@ fn main() -> Result<(), WebSocketError> {
 // Bind setInterval to make a basic game loop
 #[wasm_bindgen]
 extern "C" {
-    fn setInterval(closure: &Closure<dyn FnMut()>, time: u32) -> i32;
+    fn setInterval(closure: &Closure<dyn Fn()>, time: u32) -> i32;
 }
diff --git a/src/lib.rs b/src/lib.rs
index 545523522dd261a93db8604873494d822ed7b798..dfbc14e4f4e5f535aaf6a117deb1eef3950b9966 100644
--- a/src/lib.rs
+++ b/src/lib.rs
@@ -70,7 +70,7 @@
 //!         }
 //!         // receive() gives you all new websocket messages since receive() was last called
 //!         info!("New messages: {:#?}", client.borrow_mut().receive());
-//!     }) as Box<dyn FnMut()>);
+//!     }) as Box<dyn Fn()>);
 //!
 //!     // Start non-blocking game loop
 //!     setInterval(&f, 100);
@@ -81,7 +81,7 @@
 //! // Bind setInterval to make a basic game loop
 //! #[wasm_bindgen]
 //! extern "C" {
-//!     fn setInterval(closure: &Closure<dyn FnMut()>, time: u32) -> i32;
+//!     fn setInterval(closure: &Closure<dyn Fn()>, time: u32) -> i32;
 //! }
 //! ```
 #[cfg(test)]