```rust static SPI_INSTANCE: Mutex< CriticalSectionRawMutex, RefCell + Send)>>, > = Mutex::new(RefCell::new(None)); fn foo(buffer: &[u16]) { SPI_INSTANCE.lock(|refcell| { let mut spi_ref = refcell.borrow_mut(); let spi = spi_ref.as_mut().unwrap(); spi.write(buffer).expect("SPI transfer failed"); }); }